-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

内にないvisibileに事実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'をオブジェクトの配列として渡していましたが、実際にはポリゴンオブジェクト自体を渡す必要があります。 –

関連する問題