ここに示すように、Google マップ API V3 を使用して、具体的には描画ツールを使用します(長方形のみが有効になっています)。
https://developers.google.com/maps/documentation/javascript/overlays#drawing_tools
しかし、次の質問があります。
- ユーザーが同じページのリンクをクリックすることで、ポリゴンの左上隅と右下隅の緯度経度を取得し、URL に送信できますか?
ここに示すように、Google マップ API V3 を使用して、具体的には描画ツールを使用します(長方形のみが有効になっています)。
https://developers.google.com/maps/documentation/javascript/overlays#drawing_tools
しかし、次の質問があります。
長方形の取得
ユーザーが描画した四角形を取得する 1 つの方法は、Drawing Eventsを使用することです。
var rectangle;
google.maps.event.addListener(drawingManager, 'rectanglecomplete', function(newRect) {
rectangle = newRect;
});
ユーザーが四角形を描画するたびに、Rectangle オーバーレイ オブジェクトがrectangle
グローバル変数に割り当てられます。
Rectangle に関する情報の抽出
google.maps.Rectangle
クラスには、オブジェクトgetBounds()
を返すメソッドがあります。メソッドとメソッドをLatLngBounds
使用して、左上隅と右下隅の座標を推定できます。getNorthEast()
getSouthWest()
onclick
イベントをリンクにバインドできます。クリック イベント ハンドラーは次のようになります。
function clickEventHandler(event) {
// check if the rectangle has been assigned
if (rectangle == undefined) {
alert('No rectangles have been drawn yet!');
return;
}
// obtain the bounds and corner coordinates of the rectangle
var rectangleBounds = rectangle.getBounds();
var northEast = rectangleBounds.getNorthEast();
var southWest = rectangleBounds.getSouthWest();
// deduce the top-left and bottom-right corner coordinates
var topLeft = new google.maps.LatLng(northEast.lat(), southWest.lng());
var bottomRight = new google.maps.LatLng(southWest.lat(), northEast.lng());
// Now that you have the coordinates, all you have to do is use an AJAX
// technique of your choice to send the HTTP request to script.php.
// ...
}
参考文献: