Да, проблема была в функции работающей с событиями html-документа (переключение между radio передвигает карту в нужное место). Сменил window.onclick на window.onchange и все заработало.
Еще долго парился с восстановлением зума при перетаскивании карты, пришлось поменять panTo на setView.
Ребята, у меня тут вопрос: как с помощью leaflet и leaflet routing machine рисовать пути по своим координатам? leaflet routing machine берет координаты с OSRM, у меня же есть собственный сервис, который эти данные формирует. Может кто сталкивался - буду благодарен за подсказку.
Здравствуйте!
Могу справиться с задачей.
Суть в следующем.
Добавляю Маркеры, с событием Click
for(var i=0; i<lo_la.length; i++) {
tower1[i] = lo_la[i].split(':');
var markerLocation = new L.LatLng(tower1[i][1], tower1[i][0]);
marker[tower1[i][2]] = new L.Marker(markerLocation,{icon: greenIcon, id:tower1[i][2]});
map.addLayer(marker[tower1[i][2]]);
marker[tower1[i][2]].on("click", onMarkerClick);
}
Событие работает и индекс маркера отслеживается. Проверяю так:
function onMarkerClick() {
alert(this.options.id);
}
Не могу разобраться как запросить по клику данные из PHP(mySQL) и поместить результат в popup.
Поделитесь, если у Вас есть решение этой задачки. Спасибо.
На каком шаге затрудняетесь? Сделать ajax запрос, сгенерировать ответ или поместить результат в popup.
function onMarkerClick() {
//alert(this.options.id);
//тут сделать ajax запрос
//примерно так, с использованием jquery
jQuery.ajax({
url: "http://сайт/update.php", //адрес нужный напишите
type: "GET", //хотя он и так по умолчанию GET, можно POST
data: { //что послать серверу
id:this.options.id
},
dataType: "json",
// это выполниться после ответа сервера
success: function (json) {
//допустим сервер вернет вам название {"name":"название"}
alert(json.name); //покажет название
//тут поместить результат в popup
}
});
}
Друзья,
хочется сделать “ширину” наведения мыши на линию больше, чтобы нажатие на линию обрабатывалось и на некотором расстоянии от нее, а не прямо на ней.
Здравствуйте.
Подскажите пожалуйста есть ли скрипт с добавлением маркера как на официальном сайте? Гуугл, Яндекс и Яхуу устали мне искать информацию по реализации. Нужно что бы пользователь сам добавлял метки/маркеры на карту, а координаты отправлялись (POST) в базу. Через iframe не годится.
map.on("click",function(a){
var marker = L.marker(a.latlng).addTo(map);
var popup = L.popup();
marker.bindPopup(popup).openPopup();
});
В popup.setContent() вставишь код, отвечающий за то, как будет выглядеть всплывающее сообщение. Там можно будет сделать кнопку, при нажатии на которую, можно отсылать координаты на сервер.
Всем привет!
Не могу найти, как сделать: делаю в Leaflet’e карту со слоями, подложка OSM Mapnik в стандартной проекции (EPSG:3857). А вот слои будут некоторые в 3857, а некоторые в 3395 (как Я.Карты, например). Как прописать проекцию отдельным слоям, а не всей карте?
Здравствуйте! Пожалуйста, помогите.
Каким образом можно передавать значения новых точек, без обновления страницы, что бы точка появилась на карте (или продолжение отрезка)?
Добрый день.
Подскажите пожалуйста начинающему картографу.
У меня есть карта, собранная из собственных изображений которые были собраны, разложены по папкам и выведены по всем правилам. http://blackdesert-info.ru/map/ - вот она.
У меня получилось разместить элементы управления для рисования отметок и установки меток.
**Но теперь вопросы: ** 1. Как сделать так, что бы отметки сохранялись. Подскажите пожалуйста в какую сторону копать, что бы найти описание этого, можно даже eng источники. То есть что бы я, как администратор карты, мог установить все метки необходимые, сохранить, и другие могли бы их посмотреть.
2. Так же есть вопрос по подключению карты например на стороннем сайте.
Обычный код подключения карты:
но карта не отображается, нигде, выводится белый фон.
Ну и третий вопрос, как мне на собственной карте узнать координаты? Например я хочу установить отметку, или же я её установил, каким образом узнать какие координаты она сейчас занимает?
Буду рад если вы, друзья, поможете мне в этом вопросе.
Могу дать личные контакты, если удобнее и быстрее это будет показать через teamwiever или skype.
За пример благодарю.
А что касается сервера, то где можно прочесть об этом? на VPS я же смогу это организовать? ил карту нужно крепить к mapbox например?