libro
www.tuyano.com
App InventorによるAndroid開発入門

LocationSensorとActivityStarterで、GPSを使ったマップ表示アプリ! (4/5)

作成:2010-11-10 18:32
更新:2010-11-10 18:41

■Buttonクリック時の処理

続いて、2つのButtonをクリックした時の処理を作成しましょう。いずれも、下のリスト欄に処理の内容をまとめておきました。

ここで行っているのは、いずれもだいたい似たようなことです。ざっと整理すると、こうなります。

1.まず、起動するためのアドレス(URL)のテキストを準備します。
2.ActivityStarter1.DataUrlに、そのアドレスを設定します。
3.ActivityStarter1.StartActivityを呼び出し、アクティビティを起動します。

ActivityStarterは、プロパティを使って起動するアクティビティの指定をしておきましたが、その他の情報も設定することができます。ここでは「DataUrl」という値を設定しています。これは、URLのデータです。マップを起動するとき、このDataUrlにアドレスを指定しておくと、そのアドレスを使ってアクティビティを起動するのです。

ここでは、2通りのURLが用意されていますね。これは整理すると以下のようになります。
http://maps.google.com/map?q=場所の名前
geo:緯度,経度
http://maps.google.com/mapは、Googleマップのアドレスです。これを直接渡すことで、マップのアプリやブラウザを起動することができます。

もう1つのgeo:で始まるアドレスは、Androidの内部で用いられているURLで、緯度と経度の値を渡すことで、その位置の情報を示すことができます。いわば「汎用的な位置情報のアドレス」というわけです。

このgeo:によるアドレスは、緯度と経度を指定する場合に用います。が、例えば「地名を指定して場所を検索させる」というような使い方はできません。そこで、現在位置を表示するのにはgeo:を使い、地名を入力して検索する際にはhttp://maps.google.com/mapを使っているわけです。


※位置の情報の取得

さて、geo:では、その後に緯度と経度の値を指定します。これらの値は、LocationSensorに用意されている「Latitude」「Longitude」で得ることができます。これはセンサー(GPS)で取得した最新の位置情報が設定されています。

GPSを利用するのは、わずかにこれだけです。それ以外に処理など一切不要です。実に簡単ですね?

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

※[Button1.Click]の内容

[setglobal address to][ make text]
		[text http://maps.google.com/maps?q=]
		[TextBox1.Text]
[set ActivityStarter1.DataUrl][global address]
[ActivityStarter1.StartActivity]

※[Button2.Click]の内容


[setglobal address to][ make text]
		[text geo:]
		[LocationSensor1.Latitude]
		[text ,]
		[LocationSensor1.Longitude]
		[text ?t=h&z=17]
[set ActivityStarter1.DataUrl][global address]
[ActivityStarter1.StartActivity]

※関連コンテンツ

「App InventorによるAndroid開発入門」に戻る