Mobile Google Map で特定の場所を表示する方法

http://www.syware.com/support/customer_support/tip_of_the_month/tip_0709.php

ここで、

-URL "?action=locn&a=Cambridge MA"
-URL "?action=locn&a=@latlon:-22.54,-43.14"
-URL "?action=locn&view=mapv&a=1600 Pennsylvania Ave Washington D.C."
-URL "?action=locn&view=satv&a=Statue of Liberty"

というパラメーターで起動する方法が載っていた。

latitude, longitude お精度としては、float では甘いので、double でないとだめ。

string loc = string.Format("-URL \"?action=locn&a=@latlon:{0:F9},{1:F9}\"", latitude, longitude);
System.Diagnostics.Process.Start(@"\Program Files\GoogleMaps\GoogleMaps.exe", loc);

これで表示できる。

モバイル Glogle マップのバージョンは、2.2.0.19。確認したのは、緯度、経度の場合のみ。

モバイル Glogle マップ は、ここからダウンロード可能  www.google.co.jp/gmm

ただし、Google マップは 世界測地系、一方でWillcom の基地局データは日本測地系なので、少しずれる。
http://www.k-erc.pref.kanagawa.jp/learning/gakusyuDB/chizu/I_HK/I_HK.htm 参照

簡易変換式は次に載っている。

http://homepage3.nifty.com/Nowral/02_DATUM/02_DATUM.html

これを適用すると

double BWGS84 = latitude – 0.00010695D * latitude + 0.000017464D * longitude + 0.0046017D;
double LWGS84 = longitude – 0.000046038D * latitude – 0.000083043D * longitude + 0.010040D;

string loc = string.Format("-URL \"?action=locn&a=@latlon:{0:F9}, {1:F9}\"", BWGS84, LWGS84);
System.Diagnostics.Process.Start(@"\Program Files\GoogleMaps\GoogleMaps.exe", loc);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です