MULTISOUP

MULTISOUP

MULTISOUP

マルティスープ
Staff Blog

Introduction example

2016.11.28

Geocoding API の仕様が変更されます!

img

みなさん、こんにちは。

 

Geocoding API の仕様が変更されるようです!

 

以下が Google 社のブログです。

https://googlegeodevelopers.blogspot.jp/2016/11/address-geocoding-in-google-maps-apis.html

 

具体的にどのように変更されるかと言いますと、あいまいで不完全な検索文字列で検索した場合、今までとは異なる結果が返ってくるそうです。

では、不完全な検索文字列とは何かと言いますと、私が試した限りでは「住所」ではなく「駅名」や「お店の名前」「建物名」等のみで検索した場合が該当しそうです。

 

適用が開始されるのは下記のとおりです。

For Standard Plan customers — November 29, 2016 (無償版:2016年11月29日)
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」を追加します。

https://maps.googleapis.com/maps/api/geocode/json?new_forward_geocoder=true&address=渋谷駅&key=[YOUR_API_KEY]

 

 

2. JavaScript

v=3.expを指定します。

<script src=”https://maps.google.com/maps/api/js?v=3.exp&key=[YOUR_API_KEY]”></script>

ジオコード実行時の設定に「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(アイ・フィールド)®シリーズは、屋内外業務の現場の実力を減少させるコミュニケーション障壁を除き、使い慣れたスマートデバイスを使って 現場の実力をリアルに伝えるサービス。

位置・空間情報のエキスパート集団として一緒に働きませんか?

マルティスープは地図情報をはじめとする位置・空間情報技術のエキスパート集団です。当社で日々研究している地図や位置情報といった技術は、災害支援など貢献度の高いシステムとして使用されることもあれば、スマートフォンアプリのゲームとして使われることもあり、その利用用途・価値は、今後もますます広がっていっています。
私たちの企業理念は、「創る喜び、使う喜び」です。
今後の開発体制をより強化するために、新卒・中途問わず、当社の未来を共に創っていただける新メンバーを募集します!

【関連記事】こんな記事も読まれています

2018.01.30

Google Maps APIs : 住所コンポーネントタイプの変更

みなさん、こんにちは!今日は Google Maps APIs の住所コンポーネントタイプの変更に関する大切なお知らせです。プレミアムプランユーザーのみな・・・

続きを読む

2018.12.28

Google Maps Platform での重要な利用規約変更点

みなさん、こんにちは。

今年も最後の出勤日となりました。1年間、本ブログを読んでいただきありがとうございます。

今年は、Googl・・・

続きを読む

2016.10.26

Geocoding APIの住所のタイプと住所コンポーネントのタイプ

みなさん、こんにちは!

今日は、 Google Maps APIs の Geocoding API を使う度に皆さんが(私だけ?)、ずっと"気・・・

続きを読む

 - Google Maps APIs, Google Maps Geocoding API, Google Places API, サポート, スタッフ日記, プレミアムプラン