Googleマップの地形ビューには、デフォルトでマップタイルの無制限のパンがあります。 LatLngBounds()
を使用してこれを制限できますが、ビューポートをマップ領域外ではなく地球として設定するために使用する最大および最小の座標は何ですか?
北米の座標:
var strictBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(28.70, -127.50),
new google.maps.LatLng(48.85, -55.90)
);
私はもう試した (+90, -180)(-90,180)
運が悪い。
@Marceloおよび@Docが提供するリンクは、Lat Lngの派生を理解するためのgoodです。
ただし、justがmaxumum boundsの回答を求めている場合、Google Maps:
Latitude: -85 to +85
(何らかの理由で実際に-85.05115)
Longitude: -180 to +180
試してみてくださいGoogleマップで試してみてください:
(ズームアウトが必要な場合があります。ピンが世界の「端」にある方法を確認してください-これらは制限です )
あなたのコードで試してください:
var strictBounds = new google.maps.LatLngBounds(
new google.maps.LatLng(85, -180), // top left corner of map
new google.maps.LatLng(-85, 180) // bottom right corner
);
答えが得られたら、このウィキを編集(または質問を更新)してください。ありがとう
古いGoogleグループの this post を参照してください。これは、投影の数学について説明しています。
見積もり:
マップは85度からではなく、マップを正方形にする程度です。これは次のように簡単に計算できます:atan(sinh(PI))* 180/PI = 85.05112878 ....
その投稿のタイル計算は古いAPI V2のものですが、投影法は同じである必要があります。
Googleマップの助けを借りて、世界の最大の緯度と経度の境界を取得するには、次の操作を実行できます。
1: Googleマップの設定中に、Googleマップのズームレベル1を設定します。
mapOptions = {
zoom: 1,
.....
}
2。このマップのNorthEastおよびSouthWest Boundを取得するには、次の手順を実行します。
map = new google.maps.Map(document.getElementById( 'map-canvas')、mapOptions);
// NorthEast Latitude : 89.45016124669523 var latNEValue = map.getBounds().getNorthEast().lat(); // NorthEast Longitude : 180 var longNEValue = map.getBounds().getNorthEast().lng(); // SouthWest Latitude : -87.71179927260242 var latSWValue = map.getBounds().getSouthWest().lat(); // Southwest Latitude : -180 var longSWValue = map.getBounds().getSouthWest().lng();
。以下のNorthEastおよびSouthWest Boundsが得られます。
北東緯度:89.45016124669523
北東経度:180
南西緯度:-87.71179927260242
南西経度:-180
同様に、ズームレベル0では、次のポイントが与えられます。
北東緯度:89.99346179538875
北東経度:180
南西緯度:-89.98155760646617
南西経度:-180
上記のトリックは、最大緯度/経度を必要とするビジネス上の問題を解決するのに役立ちました。
gPS値の詳細については、 this の記事をご覧ください。
記事の説明: