2016-12-23 3 views
0

Здесь я рисую маршрут и назначая конец маршрута с использованием листовка маршрутизации машины Leaflet Routing MachineКак заменить по умолчанию маркер пользовательского значка в точке маршрута (листовка Routing)

var control = L.Routing.control(L.extend(window.lrmConfig, { 
    waypoints: [array object of stops], 
    geocoder: L.Control.Geocoder.nominatim(), 
    routeWhileDragging: true, 
    reverseWaypoints: true, 
    showAlternatives: true, 
    altLineOptions: { 
     styles: [ 
      {color: 'black', opacity: 0.15, weight: 9}, 
      {color: 'white', opacity: 0.8, weight: 6}, 
      {color: 'blue', opacity: 0.5, weight: 2} 
     ] 
    } 
})).addTo(map); 

В путевых точек объекта массива У меня есть привязки пользовательский маркер, как :

L.marker([item.latLng.lat, item.latLng.lng], {icon: stopIcon}).addTo(map).bindPopup(item.name); 

Но я получаю 2 маркера 1 по умолчанию, а второй - это мой пользовательский значок. Вы можете увидеть в моем скриншоте один по умолчанию (синий маркер) и пользовательский значок (остановка изображения)

screenshot

Так что я хочу, чтобы заменить значение по умолчанию (синий маркер) с моим обычаем и удалить маркер по умолчанию. Благодарю.

+0

Оказывается, что [путевая функция создания маркеров] (https://github.com/perliedman/leaflet-routing-machine/blob/master/src/plan.js#L26) не поддерживает любые опции для маркеров путевых точек. Таким образом, либо вы должны использовать Leaflet ['Map.eachLayer'] (http://leafletjs.com/reference.html#map-eachlayer), чтобы заменить маркеры точек маршрута по одному, либо вы должны указать проблему на [' sheetlet -routing-machine'] (https://github.com/perliedman/leaflet-routing-machine/issues) с запросом на функцию. – lonelyelk

ответ

1

Наконец-то я нашел решение. Добавлен свойство

createMarker: function() { return null; }, 
+2

Это также означает, что вы можете вернуть свой маркер, а не «null». – lonelyelk

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