0

緯度と経度の座標のペアで指定された地図の境界線を使用して、Google StaticMapsAPIに画像をリクエストしようとしています。2つの座標の中心を中心にしようとしましたが、静的APIでこれを行うためのパラメーターがないようです。誰かがこれを行う方法を知っていますか?

注:これはデスクトップアプリケーション用であり、JavascriptAPIを使用していません。

4

1 に答える 1

1

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ピクセルのマップが必要です。

于 2013-01-24T08:17:45.173 に答える