0

ImageMapType を使用して、Google マップ (API V3) でカスタム イメージをレンダリングしています。マップ上の特定の緯度/経度の X、Y を取得したいと考えています。これは、マップの中心 (Lat 0 と Lng 0 にある) では問題なく機能しますが、マップの他の部分では機能しません。カスタム マップがオーバーレイされる世界。ここに画像の説明を入力

写真の適切な X、Y 値を取得するにはどうすればよいですか?

X と Y を見つけるために使用しているアルゴリズムは次のとおりです。

    double latitude    = location.getLatitude();
    double longitude   = location.getLongitude();

    int mapWidth    = 800;
    int mapHeight   = 450;

    // get x value
    double x = (mapWidth*(180+longitude)/360) % mapWidth+(mapWidth/2);

    // convert from degrees to radians
    double latRad = latitude * java.lang.Math.PI / 180;

    // get y value
    double mercN = java.lang.Math.log(java.lang.Math.tan((java.lang.Math.PI / 4)+( latRad / 2)));
    double y     = (mapHeight / 2)-( mapWidth * mercN/(2 * java.lang.Math.PI));


    System.out.println("X : " + (x - (mapWidth / 2)) + " Y: " + y);
4

1 に答える 1

0

これで問題が解決するかどうかはわかりませんが、少し役立つかもしれません:

https://developers.google.com/maps/documentation/javascript/reference?hl=fr#Projection

于 2013-09-16T07:05:54.607 に答える