使用Mapbox切换地形图层到卫星图层

3
我在社交网站上使用Mapbox制作动态地图。
我添加了一个卫星切换按钮,但是在API文档中找不到任何方法可以像Google Maps那样从地形视图切换到卫星视图?
它是否隐藏在某个地方?我知道我必须订阅,但我需要知道我可以在实时切换地形和卫星视图而不失去我的标记等。
假设我有一个简单的地图:
var initialLocation = [40.97, 64.07];
var initialZoomLevel = 2;

var map = L.mapbox.map('map_container').setView(initialLocation, initialZoomLevel);

我该如何从地形图切换到卫星图?

有什么建议吗?

谢谢!

2个回答

8

添加卫星视图非常容易 - 只是文档不是很好。先决条件是您必须拥有付费帐户(更新:以前需要付费帐户 - 现在似乎不再是这种情况),并在帐户中设置自己的地图,并选择卫星图像。

var initialLocation = [40.97, 64.07];
var initialZoomLevel = 2;

var map = L.mapbox.map('map_container').setView(initialLocation, initialZoomLevel);
L.control.layers({  
    "Street": map.tileLayer,
    "Satellite": L.mapbox.tileLayer("my satellite imagery map id")
}, null).addTo(map);

这将在右上方(默认情况下)添加一个控件,使您可以选择默认地图和卫星地图之间进行切换。


这不需要付费账户。 - Curtis Blackwell
我不得不使用 L.tileLayer 而非 L.mapbox.tileLayer - Nicolás Ozimica

2
使用MapBox时,不存在“模式”的概念,只有不同的地图,每个地图都有自己的地图ID。因此,可以在http://tiles.mapbox.com/newmap上基于地形创建一个地图,再基于卫星影像创建另一个地图。使用它们各自的ID作为L.mapbox.map的第二个参数(详见http://www.mapbox.com/mapbox.js/api/#L.mapbox.map),即可在这两个地图之间切换。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接