初めてGoogleマップ描画ツールを試していますので、間違った方法などがわかったら、それを指摘できます。Googleマップのポリゴンシェイプ変更のマーカーの追加と削除
基本的に、マーカーの追加と削除の作業は、マップ上で描画する図形や図形を編集したり再調整したりした後で行います。
私は3つの図形を使用します。 1.円2.長方形3.ポリゴン
円と矩形がうまく動作します。ポリゴンだけが正しく動作しません。 ポリゴン描画後および編集後にマーカを適切に表示または削除しません。
ここでは、細かく動作している円のコードを示します。
google.maps.event.addListener(drawingManager, 'circlecomplete', function (circle) {
var radius = circle.getRadius();
drawingManager.setOptions({
drawingControl: false
});
drawingManager.setMap(null);
redondo = circle;
google.maps.event.addListener(redondo, 'radius_changed', function() {
for (i = 0; i < markers.length; i++) {
if (!(circle.getBounds().contains(markers[i].getPosition())))
{
markers[i].setMap(null);
$('#prop' + i).hide();
} else {
markers[i].setMap(map);
$('#prop' + i).show();
}
}
});
});
ポリゴンの場合:正しく動作しない。
google.maps.event.addListener(drawingManager, 'polygoncomplete', function (polygon) {
drawingManager.setOptions({
drawingControl: false
});
drawingManager.setMap(null);
redondo = polygon;
google.maps.event.addListener(redondo, 'bounds', function() {
for (i = 0; i < markers.length; i++) {
if((polygon.map.center.lat() < markers[i].getPosition().lat()) && (polygon.map.center.lng() < markers[i].getPosition().lng()))
{
markers[i].setMap(map);
$('#prop' + i).show();
} else {
markers[i].setMap(null);
$('#prop' + i).hide();
}
}
});
});
サークルが機能していない場合は、円ではなく正方形であるサークルの境界を確認しています。 – geocodezip
サー@geocodezip、私の円は正常に動作します。描画サークル上にマーカーを追加したり削除したり、描画後にシェイプを編集したりすることができます。 –
@geocodezip Sir私は最初にそれをやっているので、私はそれのためのGoogleマップ参照を取る。これがリンクです。 https://developers.google.com/maps/documentation/javascript/drawinglayer –