Javascript 如何向Mapbox图层控件添加标记?

Javascript 如何向Mapbox图层控件添加标记?,javascript,mapbox,Javascript,Mapbox,我正在使用一个简单的Mapbox层控件调用MB数据层(如下)。 我需要添加更多的标记层,但不确定如何获得mapbox ID。我如何才能做到这一点 L.mapbox.accessToken = 'pk.eyJ1IjoibWFwc3RlciIsImEiOiI3RmFfME5ZIn0.73sdzUFNqSsGQzjlsnimaA'; var map = L.map('map').setView([38.8922,-77.0348], 14); var layers = document.getElem

我正在使用一个简单的Mapbox层控件调用MB数据层(如下)。 我需要添加更多的标记层,但不确定如何获得mapbox ID。我如何才能做到这一点

L.mapbox.accessToken = 'pk.eyJ1IjoibWFwc3RlciIsImEiOiI3RmFfME5ZIn0.73sdzUFNqSsGQzjlsnimaA';
var map = L.map('map').setView([38.8922,-77.0348], 14);
var layers = document.getElementById('menu-ui');

addLayer(L.mapbox.tileLayer('examples.map-i87786ca'), 'Base Map', 1);
addLayer(L.mapbox.tileLayer('examples.bike-lanes'), 'Bike Lanes', 2);
addLayer(L.mapbox.tileLayer('examples.bike-locations'), 'Bike Stations', 3);

function addLayer(layer, name, zIndex) {
    layer
        .setZIndex(zIndex)
        .addTo(map);

目前您正在使用他们的示例ID和地图。你不应该那样做。如果你想在你发布的页面底部阅读,它会说:

使用此示例,将其源代码复制到您自己的HTML页面中,并用项目中您自己的地图ID替换地图ID

“您的项目”链接到的位置。当你没有登录时,你会看到一个很好的对话框,要求你登录或注册。一旦你做到了这一点,你将获得自己的ID,你就可以创建项目了。创建项目时,每个项目都将获得一个地图ID。这一切都是不言自明的

编辑:如果要插入具有要素的单独图层,则必须创建一个仅包含markerlayer的项目。保存并复制id。您可以使用
L.mapbox.featureLayer
将其包含在另一个地图中:

var mapId = 'examples.map-zr0njcqy'; // use your feature mapid
var features = L.mapbox.featureLayer(mapId); // declare featureLayer

features.on('ready', function () { // Wait untill features are loaded
    addLayer(features); // add it the same your tilelayers
}
您还可以使用它来加载外部geojson文件,只需使用URL而不是mapid

请参见示例:
参考资料:

我正在使用自己的地图ID。该代码来自模板。我对添加标记层的选项感兴趣。好的。我已经编辑了我的答案。但在你的问题中,你是说你不确定如何获得地图盒id。你本可以更清楚。这个问题缺少很多东西,例如:你的研究结果是什么?你试了什么?出了什么问题?你犯了什么错误?见: