2013-12-16 3 views
2

мы загружаем наши собственные плитки с помощью MapBox 1.5.2 со следующим кодом:Почему элементы управления Leaflet/Mapbox не имеют недостающих меток?

var mapLayer = L.tileLayer('http://192.168.1.2/tiles/{z}/{x}/{y}.png', 
          {maxZoom: 18} 
); 
var satLayer = L.tileLayer('http://192.168.1.2/images/{z}/{x}/{y}.png', 
          {maxZoom: 18} 
); 
var hybridLayer = L.tileLayer('http://192.168.1.2/roads/{z}/{x}/{y}.png', 
           {maxZoom: 18} 
); 
var satGroup = L.layerGroup([satLayer,hybridLayer]); 
var baseLayers = {"OSM":mapLayer, "Sat":satGroup}; 
L.control.layers(baseLayers).addTo(map); 

и получить следующую карту: enter image description here

Что случилось с контролем? У меня должен быть плюс/минус в масштабировании и стек блинов слоев для нескольких слоев. FWIW, элементы управления работают отлично.

+0

Не могли бы вы предоставить ваш полный код и любые ошибки или предупреждения, регистрируемые в консоли? Вот как вы можете [получить доступ к консоли в Chrome] (https://developers.google.com/chrome-developer-tools/docs/console). – geraldarthur

+0

Gerald, спасибо за идею консоли Chrome. Я использую Firefox, и при загрузке он имеет всевозможные ошибки - даже примеры с сайта Mapbox. Консоль Chrome показала, что у нее возникла проблема с загрузкой файла «icons-404040.png». Хлоп! Как я заметил в ответе tmcw, я загружаю это в частную сеть. Вы знаете, где я могу получить все изображения, которые мне могут понадобиться? – CramerTV

ответ

6

При использовании в автономном режиме требуется как минимум три файла, mapbox.css, mapbox.js и images/icons-404040.png. Я использовал следующий URL, чтобы получить файл в формате PNG (который, скорее всего, изменяется по мере изменения версии): http://api.tiles.mapbox.com/mapbox.js/v1.5.2/images/icons-404040.png

Создать подкаталог в изображения на уровне вашего mapbox.css и поместить этот файл в ней. Теперь мое приложение работает.

Вот рис файла:

enter image description here

1

Скорее всего, вы включили файл mapbox.js, но не mapbox.css или неправильную версию mapbox.css.

+0

Вы правы, что это проблема с файлом css, но я не могу понять, почему.То, что я делаю, размещает файл локально, потому что это происходит в закрытой сети без доступа к Интернету. Он работал до использования локального файла css, и я не успел восстановить файл с сервера mapbox. Я отправлю код, как просил геральд, но в основном это простой пример карты на странице разработчика карты. Есть ли другие файлы, которые требуются? Спасибо за ваше время. – CramerTV

+0

Оказывается, это не проблема с css. Он не может найти файлы локальных значков. Я не знаю, почему я думал, что это сработало раньше. Либо он сделал (что кажется маловероятным), либо я его не заметил. – CramerTV

1

Согласно файлу CSS, вам нужно включить «/ карту изображения /» папку рядом с файлом CSS, содержащий:

второй используется mapbox для экрана с высоким разрешением.

icons-4040.png

icons-4040@2x.png

Вам также может понадобиться включить другие фотографии, если ваш MapBox тема темный (см here).

изображение ниже, но белый фон сделать их невидимыми.

icons-ffffff.png icons-ffffff@2x.png

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