使用Mapbox从Terrain图层切换到Satellite图层

时间:2013-06-12 01:22:29

标签: javascript map mapbox

我正在使用Mapbox在社交网站上制作动态地图。

我添加了一个卫星切换按钮,但我在API文档中找不到关于如何从Google地图切换到卫星视图的方法吗?

隐藏在某个地方吗?我知道我必须订阅,但我会知道我可以实时从地形切换到卫星而不会丢失我的标记等。

假设我有一张简单的地图:

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

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

我怎样才能从地形切换到卫星?

有什么建议吗?

谢谢!

2 个答案:

答案 0 :(得分:7)

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

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);

这会在右上角添加一个控件(默认情况下),允许您在默认地图和卫星地图之间进行选择。

答案 1 :(得分:2)

使用MapBox没有“模式”的概念,只有不同的地图,每个地图都有自己的地图ID。因此,根据地形在http://tiles.mapbox.com/newmap创建地图,然后根据卫星图像创建另一个地图。使用各自的ID,使用L.mapbox.map的第二个参数(请参阅http://www.mapbox.com/mapbox.js/api/#L.mapbox.map)在它们之间切换。