電子国土APIを使った地図は,そのままではAndroid端末(ドコモHT-03A)で表示できなかった.これを無理矢理表示できるようにした話.

電子国土をAndroidのブラウザで

Android版の注意事項

  • もともと国土地理院の電子国土 は,Andriodでの動作を保証していません
  • Androidへの対応は,カモランド作者が個人的に行っているものであり,国土地理院は無関係です
  • そのため,電子国土のAndriodでの動作については,国土地理院に問い合わせないようにしてください
  • また,今後の国土地理院側の仕様変更には,できるだけ追随するつもりですが,対応しきれずに動作しなくなる可能性があります

以上を了解の上,このページの内容を利用してください.

概要

結果としては,以下のURLをAndroidの付属ブラウザで開けば,電子国土の地図を見ることができます
http://kamoland.com/comp/mapview-android.html#[経度],[緯度]
例えば,尾瀬の鳩待峠の場合は,

になります.↓
android1.jpg

ただし,開くとわかりますが,PCではできていたスクロールによる移動ができないため, あまり実用的ではありません.その場所を表示できるだけです.

このスクロールを実現するには,地図表示用のアンドロイドアプリをJavaで作成する手があります. これは次回説明します.→ Androidで電子国土を表示(Java)

詳細

アンドロイド搭載のブラウザはだいたいSafari相当のはずだが,事実として表示できなかった.

電子国土APIのJavaScript内でエラーが発生しているようなので, どこでエラーが発生しているかをalert()を大量に入れて追跡してみた.

その結果,以下のように対応すればAndroidのブラウザで地図を表示できた.

対象:webtis_limited.js [Version β4.50.1 2009.10.27 16:00:00]

  1. function DelayStart()の中にある,LT_P.SetupBrushImages();をコメントアウト
  2. function LT_P.InitMapView()の中のLT_P.gPopUpObjを設定している箇所をコメントアウト

具体的なソースコードで言うと,以下の箇所です.

	if ( LT_P.gDrawTarget != 'n' )
	{
// for ANDROID
//		LT_P.SetupBrushImages();
	}
// for ANDROID
//	LT_P.gPopUpObj = new LT_P.PopUpObject( theMapFrame, 200, 150 );
//	LT_P.gPopUpObj.Hide();
//	LT_P.SetPopUpDefaultSize( 200, 100 );
kamolandをフォローしましょう


© 2021 KMIソフトウェア