Google Maps API에서 드라이브 방향을 호출 한 후 마커를 얻는 방법은 무엇입니까?
-
19-09-2019 - |
문제
방금 어제 Google Maps API 사용을 시작했고 내지도로 드라이브 방향을 설정하려고했습니다. 내 문제는 : 기능 부하를 호출 할 때
// [...]
gdir = new GDirections(map, directionsPanel);
// [...]
gdir.load("from: " + fromAddress + " to: " + toAddress);
마커를 드래그 할 수없는지도를 반환합니다. 따라서 방향을 다시 계산하려면 드래그를 가능하게해야하지만 마커 객체를 얻을 수는 없습니다.
누군가 내가 어떻게 할 수 있는지 알아?
해결책
핸들러를 추가해야합니다 gdiprection 객체 AddoverLay 이벤트:
GEvent.addListener(gdir, "addoverlay", onGDirectionsAddOverlay);
당신의 OngDirectionsAdDoverlay 핸들러는 새로운 마커를 통해 반복하여 드래그 가능한 사본으로 교체 할 수 있습니다.
for (var i = 0; i <= gdir.getNumRoutes(); i++)
{
var originalMarker = gdir.getMarker(i);
latLngs[i] = originalMarker.getLatLng();
icons[i] = originalMarker.getIcon();
newMarkers[i] = new GMarker(latLngs[i], { icon: icons[i], draggable: true, title: 'Kan flyttes' });
map.addOverlay(newMarkers[i]);
// add stuff to your newMarkers[i] drag end event...
// ...
//Bind 'click' event to original markers 'click' event
copyClick(newMarkers[i], originalMarker);
// Now we can remove the original marker safely
map.removeOverlay(originalMarker);
}
제휴하지 않습니다 StackOverflow