嘿傢伙我目前遇到問題我正在使用tomtom api和小冊子在地圖上生成一條從A點到B點的路由。現在這個工作正常,問題是我還沒找到一種與從displayroute調用中自動生成的標記進行交互的方式。TomTom MapKit + Leaflet displayroute Marker
Basicly這是我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)
});
現在要麼TomTom公司的API或單張正在生成2個標記(StartMarker和結束標記),現在我需要打開一個彈出窗口,如果用戶點擊任何這些標記來顯示有關位置的信息。
我試過至今:
創建於同一位置的標記被創建,這是工作,但沒有1的onclick彈出剛打開地圖加載時彈出。
var popup = L.popup()
.setLatLng([Ls.Get('latitude'), Ls.Get('longitude')])
.setContent("I am a standalone popup.")
.openOn(map);
我試圖從Map對象中獲取Start和Endmarker,並對其進行綁定。這沒有工作
Tommap.endMarker.bindPopup("Hello world!");
我想嘗試獲得與markermanager標記,但無法找到的開始和結束標記的ID ......因此,我可以後的彈出綁定。
var marker = markerManager.getMarkerById("start/endmarkerId");
然後,我是有點絕望,但如果我可以通過使用 map.removeLayer(map.removeLayer(marker));
刪除Routemarkers,然後在起點和終點創建我自己的標記
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或使用一個透明的圖標,然後創建自己的標記,但不能說是解決方案嗎?
簡單的目標是點擊開始標記 - >打開一個彈出,並顯示信息,L幾無二結束標記
任何幫助表示讚賞
親切的問候, 克里斯托弗
好主意,但不是真正的解決方案之前,我添加另一個插件ID只是去與大小0和創建新的標記....我會很好,如果我可以使用已經存在的標記從displayroute功能創建...謝謝無論如何 – stackg91