2016.06.27
Geocording APIの微妙な仕様変更?

昨日、お客さまから緯度経度から逆ジオコードした結果の住所がおかしいという連絡をもらいました。
「市区町村名までしか表示しない」
期待する結果: 東京都千代田区神田錦町3-11
取得した結果: 東京都千代田区
使用しているAPIは、Google Maps Geocording API です。
仕様が変更されたどうか、調査を開始しました。
ブラウザ上でJavaScriptをステップ実行しながら見ていき、ジオコードした結果のオブジェクトを
参照しましたが、問題なく変換しているように見えます。
1行ずつステップ実行していると、結果を取得後、 if 文で分岐処理を行っている箇所がありました。
その処理は、ジオコード結果のタイプを参照し、取得した住所を変数に代入する内容です。
要は、変換結果レベルの一番高いものを取得することが目的の処理です。
そこで気付いたのが、今までと異なる結果が返ってきていることです。
期待する結果: types: {“sublocality_level_5”}
取得した結果: types: {“political”, “sublocality”, “sublocality_level_5”}
今までは、“sublocality_level_5”という結果が配列の先頭にあったはずです。
というか、1個しか無かったような気がします。今回見たところ、配列の一番最後にあります。
ロジック的に、配列の1番目を取得するようになっていたため、期待する結果を取得する
事ができなかったことが原因だったようです。
そもそも types は配列で定義されており、複数の結果が返ってきたとしても文句は言えません。
今回のように Google Maps API は、微妙な仕様変更?が行われることがあります。
今回のケースで言えば、プログラムが悪いと言えなくもありませんが、社内の人に聞いたところ、
何人か同じようなロジックを組んでいる人がいました。
みなさんもお気をつけください!
Google Maps のことで質問や疑問があれば、是非マルティスープにお問い合わせ下さい。
地図や位置情報を用いたシステムのご提案・開発ならマルティスープへ
マルティスープは、創業以来のGISとモバイル開発の実績と技術力で、営業支援システムやリサーチ・公共インフラ・工事・警備業界の現場を支援するシステム開発など、地図や位置情報を使った業務システムの導入のご提案や開発をいたします。
現場をつなぐコミュニケーションが屋内外業務のパフォーマンスを最大限に。マルティスープのiField(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。
位置・空間情報のエキスパート集団として一緒に働きませんか?
マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!
【関連記事】こんな記事も読まれています
2016.10.26
Geocoding APIの住所のタイプと住所コンポーネントのタイプ
みなさん、こんにちは!
今日は、 Google Maps APIs の Geocoding API を使う度に皆さんが(私だけ?)、ずっと"気・・・
2018.12.16
みなさん、こんにちは。
先日、メールが届きましたが、Google Fusion Table が来年廃止されるようです。
 ・・・
-
最新記事New Posts
-
人気記事Popular Posts
-
関連タグRelated Tags
-
アーカイブArchive