2017-02-03 55 views
-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

你的問題可能裏面event.addlistener

,你可以嘗試使用clouser進行相關的事實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'作爲一個對象數組傳遞,但實際上我們需要傳遞多邊形對象本身。 –

相關問題