Leaflet — новая JavaScript-библиотека для карт от CloudMade

Leaflet нужен же?

Если нужна карта — то да, альтернативы хуже.

Всё таки я бы оставил альтернативу, что если ты подвинул маркер, то он уже не центрируется.

Всем привет!
Начал тестировать leaflet, возникли некоторые вопросы. Весьма вероятно, что они наивны и глупы, но, может, кто-нибудь не побрезгует помочь мне сделать первые шаги в leaflet-е:).

Layer.TileLayer.Bing.js взят отсюда.

  1. Выдаётся оповещение JavaScript:

Слой Bing не работает. Я так понимаю, что нужно получить какие-то логин и пароль для работы с Bing? Они будут работать для отдельно взятого домена или я смогу тестировать и с локального компьютера? Где эти логин и пароль можно получить и куда их потом нужно вписывать?

  1. На слоях Yandex и Google атрибуция есть, на других слоях - нет. Как можно её добавить?

Как получить апи-ключ можно узнать тут. И соответственно он указывается при создании new L.BingLayer;

Спасибо! Получил ключ, указал его в виде var binglayer = new L.BingLayer(‘значение_ключа’) - Bing заработал. В его слое с атрибуцией тоже всё нормально. Значит, надо разбираться, как добавлять атрибуцию в слои, подключаемые через new L.TileLayer .

L.tileLayer(‘http://url’, { attribution: ‘&copy OpenStreetMap’ });

Спасибо! Добавил.

Это баг или фича?

Заходим, например, на openstreetmap.org - отдаляем карту (что бы видеть всю планету - хотя это не обязательно, просто так быстрее), потом много много раз двигаем карту, например, влево. Потом приближаем, например, Москву и включаем отображение заметок и/или “Просмотр данных карты” и ничего не видим.
Не видим, потому что при движении карты скрипт запрашивает данные, например такие

http://www.openstreetmap.org/api/0.6/notes.json?bbox=2197.6180458068848,55.71115651639838,2197.6879119873047,55.729478392647636

Понятно дело, что по таким координатам никто меток не ставил и мы их не видим (но при этом видим тайлы карты и рассчитываем все же увидеть метки).

Вроде год назад это фиксилось - https://trac.openstreetmap.org/ticket/4752
Наверное после редизайна опять вылезло, заведите новый тикет - https://trac.openstreetmap.org/newticket

да, лефлет так считает. особенно хорошо видно на http://openstreetmap.ru https://github.com/ErshKUS/OpenStreetMap.ru/issues/209

А разве не здесь https://github.com/Leaflet/Leaflet/issues нужно тикеты по Leaflet создавать?

вопрос у лефлета это баг или фича :wink:

Во первых - одно другому не мешает. А во вторых - не уверен что у leaflet-а это считается багом.

Не считается, конечно. Просто нужно worldCopyJump у L.Map поставить в true.

Спасибо. Поставил.

Вопрос, кто-нибудь пользовался Leaflet.draw? Нужно вставить линию, которую нельзя двигать, и по клику на концевой точке продолжать рисовать её. Есть такая возможность, при помощи встроенных методов?

http://share.mapbbcode.org/ тут используется.

Нет, таких встроенных методов нет. Можно покопать Draw.Polyline.js.

Как переключить нужный слой после добавления контрола на карту? Нашел mymap.setBaseLayer, но отладчик говорит, что нет такого метода.


mymap = new L.Map('map');
var osm = new L.tileLayer("много букв");
var ocm = new L.tileLayer("еще больше букв");
var baseMaps = {
	"OpenStreetMap": osm,
	 "OpenCycleMap": ocm,
};
L.control.layers(baseMaps, overlayMaps).addTo(mymap);
mm="OpenStreetMap";