差分表示


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

*電子国土をAndroidのブラウザで
**Android版の注意事項
-もともと&link(国土地理院の電子国土,http://cyberjapan.jp/); は,''Andriodでの動作を保証していません''
-[[Android]]への対応は,カモランド作者が個人的に行っているものであり,''国土地理院は無関係''です
-そのため,電子国土のAndriodでの動作については,国土地理院に問い合わせないようにしてください
-また,今後の国土地理院側の仕様変更には,できるだけ追随するつもりですが,''対応しきれずに動作しなくなる可能性''があります

以上を了解の上,このページの内容を利用してください.
**概要
結果としては,以下のURLを[[Android]]の付属ブラウザで開けば,電子国土の地図を見ることができます
--(
http://kamoland.com/comp/mapview-android.html#[経度],[緯度]
--)
例えば,尾瀬の鳩待峠の場合は,
-http://kamoland.com/comp/mapview-android.html#139.200444,36.890111

になります.↓~
&ref(android1.jpg,100%,left)

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

このスクロールを実現するには,地図表示用のアンドロイドアプリをJavaで作成する手があります.
これは次回説明します.
これは次回説明します.→ [[Androidで電子国土を表示(Java)]]
**詳細
アンドロイド搭載のブラウザはだいたいSafari相当のはずだが,事実として表示できなかった.

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

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

&ltitle(対象:webtis_limited.js [Version β4.50.1 2009.10.27 16:00:00]);
+function DelayStart()の中にある,LT_P.SetupBrushImages();をコメントアウト
+function LT_P.InitMapView()の中のLT_P.gPopUpObjを設定している箇所をコメントアウト

具体的なソースコードで言うと,以下の箇所です.
--(661,js
	if ( LT_P.gDrawTarget != 'n' )
	{
// for ANDROID
//		LT_P.SetupBrushImages();
	}
--)
--(3981,js
// for ANDROID
//	LT_P.gPopUpObj = new LT_P.PopUpObject( theMapFrame, 200, 150 );
//	LT_P.gPopUpObj.Hide();
//	LT_P.SetPopUpDefaultSize( 200, 100 );
--)


© 2022 KMIソフトウェア