Google Maps API에서 드라이브 방향을 호출 한 후 마커를 얻는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/2434471

  •  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);
}

이 예제의 예를 찾을 수 있습니다 여기 (원천).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top