2015-08-14 2 views
1

Привет, ребята, у меня проблема, в настоящее время я использую tomtom api с буклетом для создания маршрута на карте от точки A до точки B. Теперь это работает отлично, проблема в том, что я не нашел способ взаимодействия с маркерами, автоматически генерируемыми при вызове displayroute.TomTom MapKit + Листовая маркер отображения маркера

Основном это мой Routecall

Tommap.displayRoute([[Ls.Get('latitude'), Ls.Get('longitude')], [cusLat, cusLng]], function (response) { 
       //Tommap.removeLayer(Tommap.endMarker); 
       console.log(response) 
       $scope.values = response 
       $scope.instructions = response.instructions 
       console.log(Tommap) 

      }); 

Теперь либо Api TomTom или листовка генерирует 2 маркеров (StartMarker и маркер конца), теперь мне нужно, чтобы открыть всплывающее окно, если пользователь нажимает на любой из этих маркеров показать информацию о местонахождении.

Что я пытался до сих пор:

Создание всплывающего окна на том же месте, маркер получает созданный, который работает, но не OnClick 1 всплывающее окно просто открывается при загрузке карты.

var popup = L.popup() 
    .setLatLng([Ls.Get('latitude'), Ls.Get('longitude')]) 
    .setContent("I am a standalone popup.") 
    .openOn(map); 

Я попытался получить начальный и конечный маркер из объекта карты и выполнить привязку к нему. Который не работало

Tommap.endMarker.bindPopup("Hello world!"); 

Я хотел, чтобы попытаться получить маркер с markermanager, но не смог найти идентификатор маркеров начала и конца ... Так что я могу связать всплывающее окно после этого.

var marker = markerManager.getMarkerById("start/endmarkerId"); 

Тогда я был своего рода отчаянным и, хотя если бы я мог удалить Routemarkers с помощью map.removeLayer(map.removeLayer(marker));

А затем создать свои собственные маркеры на начальной и конечной точки

var marker = new tomtom.Marker([Ls.Get('latitude'), Ls.Get('longitude')]); 
Tommap.addLayer(marker); 

Но теперь я имеют 2 маркера, сформированные на маршруте отображения и само добавленные маркеры ...

Затем я посмотрел в tomt om.map.js, где я нашел этот

tomtom.Map.MARKER_OPTIONS_ROUTE_END={iconUrl:"marker_customer.svg",iconSize:[43,49],iconAnchor:[11,40],popupAnchor:[0,0]} 

Я мог бы установить размер значков на 0,0 или использовать прозрачную иконку, а затем создать свои собственные маркеры, но это не могу быть правильным решением?

Простая цель состоит в том, чтобы нажать на старт маркера -> открыть всплывающее окно и показать информацию, л некоторые идет на маркер конца

Любая помощь приветствуется

С наилучшими пожеланиями, Кристофер

ответ

0

You может использовать Extended DivIcon, чтобы создать пользовательский маркер и присвоить ему идентификатор. С идентификатором вы можете привязать всплывающее окно к нему.

+0

хорошая идея, но на самом деле не решение, прежде чем добавить еще один идентификатор плагина, просто пойдите с размером 0 и создайте новые маркеры .... мне было бы хорошо, если бы я мог использовать уже существующие маркеры, созданные из функции displayroute ... thanks в любом случае – stackg91

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