2016.11.28
Geocoding API の仕様が変更されます!
みなさん、こんにちは。
Geocoding API の仕様が変更されるようです!
以下が Google 社のブログです。
https://googlegeodevelopers.blogspot.jp/2016/11/address-geocoding-in-google-maps-apis.html
具体的にどのように変更されるかと言いますと、あいまいで不完全な検索文字列で検索した場合、今までとは異なる結果が返ってくるそうです。
では、不完全な検索文字列とは何かと言いますと、私が試した限りでは「住所」ではなく「駅名」や「お店の名前」「建物名」等のみで検索した場合が該当しそうです。
適用が開始されるのは下記のとおりです。
For Premium Plan customers — January 2017 (有償版:2017年1月)
The old geocoder will be permanently retired end of March 2017 (完全終了:2017年3月)
プレミアムプランの方は、猶予期間がありますので、事前にお試しすることをお勧めいたします。
具体的に試す方法を説明します。
Geocoding はWEB サービス(HTTPリクエスト)で実行する方法と、JavaScriptから実行する方法の2通りあります。
1.WEBサービス
リクエストパラメータに「new_forward_geocode=true」を追加します。
2. JavaScript
v=3.expを指定します。
ジオコード実行時の設定に「newForwardGeocoder:true」を追加します。
var geocode = function() {
var geocoder = new google.maps.Geocoder();
geocoder.geocode({
address: "東京都千代田区神田錦町3-11",
newForwardGeocoder:true
}, function(results, status) {
console.log(results);
});
};
それでは、いくつか試してみた例を記載します。
★”東京都千代田区神田錦町3-11 精興竹橋共同ビル”で検索した場合
旧ジオコードの結果
{ "results" : [ { "address_components" : [ { "long_name" : "精興竹橋共同ビル", "short_name" : "精興竹橋共同ビル", "types" : [ "premise" ] }, { "long_name" : "3丁目", "short_name" : "3丁目", "types" : [ "political", "sublocality", "sublocality_level_2" ] }, { "long_name" : "神田錦町", "short_name" : "神田錦町", "types" : [ "political", "sublocality", "sublocality_level_1" ] }, { "long_name" : "千代田区", "short_name" : "千代田区", "types" : [ "locality", "political" ] }, { "long_name" : "東京都", "short_name" : "東京都", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "日本", "short_name" : "JP", "types" : [ "country", "political" ] }, { "long_name" : "101-0054", "short_name" : "101-0054", "types" : [ "postal_code" ] } ], "formatted_address" : "日本, 〒101-0054 東京都千代田区神田錦町3丁目 精興竹橋共同ビル", "geometry" : { "bounds" : { "northeast" : { "lat" : 35.6923684, "lng" : 139.7599856 }, "southwest" : { "lat" : 35.6920118, "lng" : 139.7597812 } }, "location" : { "lat" : 35.692219, "lng" : 139.759897 }, "location_type" : "ROOFTOP", "viewport" : { "northeast" : { "lat" : 35.6935390802915, "lng" : 139.7612323802915 }, "southwest" : { "lat" : 35.6908411197085, "lng" : 139.7585344197085 } } }, "partial_match" : true, "place_id" : "ChIJ-0O8LQ6MGGARGfdmisXwpWM", "types" : [ "premise" ] } ], "status" : "OK" }
新ジオコードの結果
{ "results" : [], "status" : "ZERO_RESULTS" }
旧ジオコードはビル名が含まれていても正確に検索できましたが、新ジオコードでは、ZERO_RESULTS で取得できないという結果でした!
★”虎ノ門ヒルズ”で検索した場合
旧ジオコードの結果
{ "results" : [ { "address_components" : [ { "long_name" : "虎ノ門ヒルズ森タワー", "short_name" : "虎ノ門ヒルズ森タワー", "types" : [ "premise" ] }, { "long_name" : "23", "short_name" : "23", "types" : [ "political", "sublocality", "sublocality_level_3" ] }, { "long_name" : "1丁目", "short_name" : "1丁目", "types" : [ "political", "sublocality", "sublocality_level_2" ] }, { "long_name" : "虎ノ門", "short_name" : "虎ノ門", "types" : [ "political", "sublocality", "sublocality_level_1" ] }, { "long_name" : "港区", "short_name" : "港区", "types" : [ "locality", "political" ] }, { "long_name" : "東京都", "short_name" : "東京都", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "日本", "short_name" : "JP", "types" : [ "country", "political" ] }, { "long_name" : "105-0001", "short_name" : "105-0001", "types" : [ "postal_code" ] } ], "formatted_address" : "日本, 〒105-0001 東京都港区虎ノ門1丁目23 虎ノ門ヒルズ森タワー", "geometry" : { "bounds" : { "northeast" : { "lat" : 35.6673274, "lng" : 139.7500907 }, "southwest" : { "lat" : 35.6663755, "lng" : 139.7490089 } }, "location" : { "lat" : 35.6668107, "lng" : 139.7493964 }, "location_type" : "ROOFTOP", "viewport" : { "northeast" : { "lat" : 35.6682004302915, "lng" : 139.7508987802915 }, "southwest" : { "lat" : 35.6655024697085, "lng" : 139.7482008197085 } } }, "partial_match" : true, "place_id" : "ChIJdc0fopOLGGARm4DVQaWiPZ0", "types" : [ "premise" ] } ], "status" : "OK" }
新ジオコードの結果
{ "results" : [], "status" : "ZERO_RESULTS" }
旧ジオコードはビル名だけでも検索できましたが、新ジオコードでは検索できませんでした。
★”渋谷駅”で検索した場合
旧ジオコードの結果
{ "results" : [ { "address_components" : [ { "long_name" : "渋谷駅", "short_name" : "渋谷駅", "types" : [ "establishment", "point_of_interest" ] }, { "long_name" : "2丁目", "short_name" : "2丁目", "types" : [ "political", "sublocality", "sublocality_level_2" ] }, { "long_name" : "渋谷", "short_name" : "渋谷", "types" : [ "political", "sublocality", "sublocality_level_1" ] }, { "long_name" : "渋谷区", "short_name" : "渋谷区", "types" : [ "locality", "political" ] }, { "long_name" : "東京都", "short_name" : "東京都", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "日本", "short_name" : "JP", "types" : [ "country", "political" ] }, { "long_name" : "150-0002", "short_name" : "150-0002", "types" : [ "postal_code" ] } ], "formatted_address" : "日本, 〒150-0002 東京都渋谷区渋谷2丁目 渋谷駅", "geometry" : { "location" : { "lat" : 35.6581003, "lng" : 139.7017417 }, "location_type" : "APPROXIMATE", "viewport" : { "northeast" : { "lat" : 35.6594492802915, "lng" : 139.7030906802915 }, "southwest" : { "lat" : 35.6567513197085, "lng" : 139.7003927197085 } } }, "place_id" : "ChIJnxAAO1aLGGARJqvi8d4oczM", "types" : [ "establishment", "point_of_interest", "subway_station", "train_station", "transit_station" ] } ], "status" : "OK" }
新ジオコードの結果
{ "results" : [ { "address_components" : [ { "long_name" : "渋谷駅", "short_name" : "渋谷駅", "types" : [ "establishment", "point_of_interest" ] }, { "long_name" : "日本", "short_name" : "JP", "types" : [ "country", "political" ] } ], "formatted_address" : "日本, 渋谷駅", "geometry" : { "location" : { "lat" : 35.6581003, "lng" : 139.7017417 }, "location_type" : "APPROXIMATE", "viewport" : { "northeast" : { "lat" : 35.6594492802915, "lng" : 139.7030906802915 }, "southwest" : { "lat" : 35.6567513197085, "lng" : 139.7003927197085 } } }, "place_id" : "ChIJnxAAO1aLGGARJqvi8d4oczM", "types" : [ "establishment", "point_of_interest", "subway_station", "train_station", "transit_station" ] } ], "status" : "OK" }
取得できる緯度経度は同じですが、住所文字列に違いがあります。また、新ジオコードでは郵便番号は取得できないようです。
今回試したサンプルは、わかり易い結果となるものを選びました。必ずしも、建物名やお店の名前で結果が0件になるという訳でもありませんが、以前と結果が異なる可能性があることは間違いありません。
正確な住所(ビル名は含まない)や緯度経度で検索している場合は問題ありません。住所ではない文字が含まれている形式でジオコードしている場合は、必ず事前に確認した方が良いと思います。
また、Google 社では、あいまいな文字列の検索は「Places API」を利用することをお勧めしています。
その他、不明な点があれば下記の「お問い合わせ」より、ご質問ください。
地図や位置情報を用いたシステムのご提案・開発ならマルティスープへ
マルティスープは、創業以来のGISとモバイル開発の実績と技術力で、営業支援システムやリサーチ・公共インフラ・工事・警備業界の現場を支援するシステム開発など、地図や位置情報を使った業務システムの導入のご提案や開発をいたします。
現場をつなぐコミュニケーションが屋内外業務のパフォーマンスを最大限に。マルティスープのiField(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。
位置・空間情報のエキスパート集団として一緒に働きませんか?
マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!
【関連記事】こんな記事も読まれています
2016.07.05
Google Maps JavaScript API のリリースバージョン
みなさん、こんにちは!
今回紹介するのは、Google Maps JavaScript API のリリースバ・・・
2018.05.10
Google Maps JavaScript API のリリースバージョンが 3・・・
みんさん、こんにちは!
Google Maps JavaScript API のアップデート情報です。
2018年5月15日頃、G・・・
-
最新記事New Posts
-
人気記事Popular Posts
-
関連タグRelated Tags
-
アーカイブArchive