ogamita777/unity-geocoding-test
↑が今回制作したものです。
Unity 4.6.3f1 + Nexus 5(Android 5.0.1) で動作確認済みです。
1. GPS情報を取得する
Unityで位置情報を取得 - チラ裏Unityを参考したらできました。
2. GPS情報を逆ジオコーディングする
簡易逆ジオコーディングサービスで緯度と経度をURLで指定することにより住所のJSONデータを取得できました。
double latitude = Input.location.lastData.latitude; double longitude = Input.location.lastData.longitude; WWW results = new WWW("http://www.finds.jp/ws/rgeocode.php?json&lat=" + latitude + "&lon=" + longitude); // 逆ジオコーディング yield return results;
3. 取得したJSONデータをUnityで扱えるようにする
MiniJSONを使いました。
var search = Json.Deserialize(results.text) as IDictionary; var result = search["result"] as IDictionary; var prefecture = result["prefecture"] as IDictionary; var municipality = result["municipality"] as IDictionary; string currentPosition = prefecture["pname"] as string + municipality["mname"] as string;
4. uGUIのTextに取得した住所を代入
GameObject.Find("Text").GetComponent<Text>().text = currentPosition;