Javascript 使用Mapbox从地形层切换到卫星层

Javascript 使用Mapbox从地形层切换到卫星层,javascript,map,mapbox,Javascript,Map,Mapbox,我正在使用Mapbox在社交网站上制作动态地图 我添加了一个卫星切换按钮,但是我在API文档中找不到任何方法来像谷歌地图那样从地形视图切换到卫星视图 它藏在什么地方了吗?我知道我必须订阅,我会订阅,但我需要知道我可以实时从地形切换到卫星,而不会丢失我的标记等等 假设我有一张简单的地图: var initialLocation = [40.97, 64.07]; var initialZoomLevel = 2; var map = L.mapbox.map('map_container').s

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

我添加了一个卫星切换按钮,但是我在API文档中找不到任何方法来像谷歌地图那样从地形视图切换到卫星视图

它藏在什么地方了吗?我知道我必须订阅,我会订阅,但我需要知道我可以实时从地形切换到卫星,而不会丢失我的标记等等

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

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

var map = L.mapbox.map('map_container').setView(initialLocation, initialZoomLevel);
如何从地形切换到卫星

有什么建议吗


谢谢

MapBox没有“模式”的概念,只是不同的地图,每个地图都有自己的地图ID。因此,根据地形创建一张地图,然后根据卫星图像创建另一张地图。使用第二个参数切换到
L.mapbox.map
(请参阅),并使用它们各自的ID

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

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

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

这不需要付费帐户。我必须使用
L.tileLayer
而不是
L.mapbox.tileLayer