2015-02-05 2 views
-1

Я использую простой элемент управления Mapbox, вызывающий уровни данных MB (ниже). Мне нужно добавить еще несколько слоев маркера, но не знаю, как получить идентификатор карты. Как я могу это сделать?Как добавить маркеры в элемент управления слоем Mapbox?

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

code is from Mapbox toggling layers template

ответ

1

В данный момент вы используете свой пример ID и карты. Ты не должен это делать. Если вы читали в нижней части страницы, которую вы опубликовали, она говорит:

Используйте этот пример, скопировав исходный код на свою собственную HTML-страницу и заменив идентификатор карты на свой собственный проект.

Где "Ваши проекты" связано с https://www.mapbox.com/projects/. Когда вы не вошли в систему, вы получите приятный диалог, который попросит вас войти или зарегистрироваться. Как только вы это сделаете, вы получите свой собственный идентификатор, и вы сможете создавать проекты. При создании проекта вы получите идентификатор карты для каждого проекта. Все это довольно самоочевидно.

EDIT: Если вы хотите вставить отдельный слой с функциями, вам нужно создать проект только с маркером. Сохраните его и скопируйте идентификатор. Вы можете включить, что в другой карте с помощью 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 вместо МАПИД.

Смотрите пример: https://www.mapbox.com/mapbox.js/example/v1.0.0/features-from-another-map/ И ссылка: https://www.mapbox.com/mapbox.js/api/v2.1.5/l-mapbox-featurelayer/

+0

Я использую свои собственные идентификаторы карт. Этот код из шаблона. Меня интересуют варианты добавления слоя маркера к этому. – Bergen88

+0

Хорошо. Я отредактировал свой ответ. Но в вашем вопросе вы говорите, что не знаете, как получить идентификатор mapbox. Вы могли бы быть более ясными. На вопрос не хватает многих вещей, например: что вы изучали? Что вы пробовали? Что пошло не так? Какие ошибки вы получаете? См. Http://stackoverflow.com/help/how-to-ask – iH8

Смежные вопросы