緯度と経度の座標のペアで指定された地図の境界線を使用して、Google StaticMapsAPIに画像をリクエストしようとしています。2つの座標の中心を中心にしようとしましたが、静的APIでこれを行うためのパラメーターがないようです。誰かがこれを行う方法を知っていますか?
注:これはデスクトップアプリケーション用であり、JavascriptAPIを使用していません。
緯度と経度の座標のペアで指定された地図の境界線を使用して、Google StaticMapsAPIに画像をリクエストしようとしています。2つの座標の中心を中心にしようとしましたが、静的APIでこれを行うためのパラメーターがないようです。誰かがこれを行う方法を知っていますか?
注:これはデスクトップアプリケーション用であり、JavascriptAPIを使用していません。
1.ズームレベルは離散値であり、2。ピクセルが表す緯度の量は緯度によって異なるため、マップの隅に基づいてリクエストを行うことはできません。したがって、2度を表示するには、赤道付近の特定のマップの高さと、極の近くの別の高さ(より大きい)が必要になります。常に2度に収まるように、さまざまな高さの地図を表示しますか?
その場合は、他の投稿のMercatorProjectionオブジェクトを使用し、次の関数を使用して必要なマップサイズを計算できます。
<script src="MercatorProjection.js"></script>
function getMapSize(center,zoom){
var proj = new MercatorProjection();
var scale = Math.pow(2,zoom);
var centerPx = proj.fromLatLngToPoint(center);
var SW = new google.maps.LatLng(center.lat()-1,center.lng()-1);
var southzWestPx = proj.fromLatLngToPoint(SW);
var NE = new google.maps.LatLng(center.lat()+1,center.lng()+1);
var northEastPx = proj.fromLatLngToPoint(NE);
// Then you can calculate the necessary width and height of the map:
var mapWidth = Math.round((northEastPx.x - southzWestPx.x) * scale);
var mapHeight = Math.round((southzWestPx.y - northEastPx.y) * scale);
}
center = new google.maps.LatLng(49.141404、-121.960988)およびzoom = 7の場合、2 x 2度を表示するには、(W x H)182x278ピクセルのマップが必要です。