1

Google Maps API を使用して独自の地図を作成しました。これは、非常に大きな画像に基づくカスタム マップ タイプです。

とにかく、緯度座標をリセットして、地球のデフォルトの緯度座標ではなく、画像に相対的になるようにすることはできますか?

IE 画像の左上隅を (0,0) にします。

ありがとう。

4

1 に答える 1

1

はい、独自のカスタム プロジェクション定義で可能です。この月面の例を、左上隅を (0,0)、右下隅を (50,50) とする単純な射影で修正しました。ほとんどの場合、アプリで動作するように値を変更する必要があります。

制限を少し試してみましたが、緯度には +/- 90、経度には +/- 180 の厳しい制限がまだあるようです。経度は 180 度で一周します。つまり、(100, 200) などのカスタム座標を定義することは不可能に見えます。

ここで変更された月面のデモを参照してください。任意の場所をクリックすると、アラートにカスタム latLng が表示されます。

http://jsfiddle.net/yV6xv/79/

function percentProjection() {};

percentProjection.prototype.fromLatLngToPoint = function(latlng) {
    // pixel size of tile at zoom 0
    var max = 256;

    // define bottom-right corner as (50, 50)
    var x = max * latlng.lng() / 50;
    var y = max * latlng.lat() / 50;
    return new google.maps.Point(x, y);
};

percentProjection.prototype.fromPointToLatLng = function(pixel) {
    // inverse conversion
    var max = 256;
    var lng = pixel.x / max * 50;
    var lat = pixel.y / max * 50;
    return new google.maps.LatLng(lat, lng);
};
于 2012-06-25T16:17:53.200 に答える