-1
var marker = new google.maps.Marker({ 
    position: location, 
    map: map, 
    draggable: true 
}); 
google.maps.event.addListener(marker, 'dragend', function (event) { 
    var result = google.maps.geometry.poly.containsLocation(event.latLng, polygonCoords); 
    console.log(result); 
}); 

위치는 마커 위치이며 polygonCoords는 다각형 좌표입니다 (둘 다 이전에 정의 됨). 마커를 드래그하고 끌기가 끝난 후 'dragend'이벤트를 듣고 Google 맵 도형 라이브러리를 사용하여 마커의 새 위치가 다각형 영역 내에 있는지 확인합니다. 는하지만 다음과 같은 오류가 점점 오전 :마커 위치를 추적하는 방법은 드래그 앤 드롭 이벤트에서 다각형 영역 내에 있습니다

Uncaught TypeError: undefined is not a function 

Click Here to see the image

+0

문제를 나타내는 [mcve]를 제공하십시오. – geocodezip

답변

0

귀하의 문제는 당신이 clouser를 사용하여 시도 할 수 event.addlistener

에 있지 공개 대상에서 사실 polygonCoords과 관련이있을 수 있습니다 .. envrapping 적절한 값을 가진 청취자 내부 함수

var function myFunction(marker, myPolyCoords) { 

    google.maps.event.addListener(marker, 'dragend', function (event) { 
    var result = google.maps.geometry.poly.containsLocation(event.latLng, myPolyCoords); 
    console.log(result); 
    }); 

} 


myFunction(myMarker, polygonCoords); 
+0

문제를 해결했습니다. 'myPolyCoords'를 객체의 배열로 전달했지만 실제로는 폴리곤 객체 자체를 전달해야합니다. –