2016-07-05 1 views
0

私はこの使用しています:問題はジオコーダから返されたデータが矛盾するように見えるということです geocoder.geocode(geoRequest、機能(結果、状態){ ... ... }ジオコーダーAPIから一貫したaddress_componentsデータを取得できますか?

をジオコーダーを呼び出す前にマップAPIのjsファイルをロードするときに、ジオコーダーの変数geoRequestで言語を指定します(オーストラリア(オーストラリア:オーストラリアなど)も指定します)。ジオコードコール)

私たちはちょうどこのURLを使用することができます理解しようものを見るために他の人のために、それを簡単にするには:。 http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address=darwin

結果で興味深い部分は、この要求は、これらのaddress_componentsのLONG_NAME returnesことです:

オーストラリアを

ノーザンテリトリー(SHORT_NAME = NT)

ダーウィン

私が含まれている場合

「BRIGGSストリート"検索で私はこのURLを取得します: http://maps.googleapis.com/maps/api/geocode/json?components=country:AU&language=en&address=briggs+street,darwin

オーストラリア

ノーザンテリトリー(SHORT_NAME = NT)

ダーウィン市

ダーウィン市

ブリッグスストリート

私の質問:は、私はこれらのaddress_componentsのLONG_NAMEを取得します:

「briggs street、darwin」を検索する2番目の例で「Darwin」が返されないのはなぜですか?この場合、テキストは次のとおりです。

ダーウィン市

ダーウィン市

はとして、例えば特定せずに、両方の、私は一貫しhierarcical結果が返さたいジオコーダAPIを通知することが可能です道路?

私が求めているのは、都市の名前や通りを入力することで、ユーザーが指定した場所に基づいて統計情報を収集したいということです。返されたcomponent_addressを使用して、クライアント(ユーザ)からの他の情報を使ってデータベースを構築できるようにしたいと考えています。

しかし、統計レポートはあまり一致しません。 「briggs street、darwin」と入力したユーザーが入力したデータは、「Darwin」という場所の下に格納されたデータを取得しないため、ダーウィンの統計情報(「darwin」のみを入力したユーザーによって登録されたもの)最初のユーザー) - 「ダーウィン」は「ダーウィン市」と「ダーウィン市区町村」とは異なるためです。

同様の矛盾が "フルトンストリート、ブルックリン" の検索に観察することができ、 "ブルックリン"

ブルックリンのためにこの検索: コンポーネント=国:?米国&アドレス=ブルックリン

リターン:

USA

ニューヨーク(SHORT_NAME = NY)

キングス郡

ニューヨーク

ブルックリン

しかし...ため、この検索 "フルトン+ストリート、ブルックリン":? コンポーネント=国:US &アドレス=フルトン+ストリート、ブルックリン

リターン:

USA

新ニューヨーク(SHORT_NAME = NY)

キングス郡

ブルックリン

フルトン・ストリート

はなぜ「キングス郡」と「ブルックリン」の間には「ニューヨーク」は、上記最後の結果ではありませんか?もう一度...いくつかの不一致があるようです。ここで

答えて

1

今デンマークのために、別の例である:

オーデンセの検索:

デンマーク

地域Syddanmark(administrative_area_level_1)

http://maps.googleapis.com/maps/api/geocode/json?components=country:DK&language=en&address=odense

は私にこの結果を与えます

[...]

私はオーデンセのストリートryttergadeを検索する場合、次のように: http://maps.googleapis.com/maps/api/geocode/json?components=country:DK&language=en&address=ryttergade,odense

その後、地域「地域Syddanmark」(administrative_area_level_1)は、結果セットではありません。それはなぜそうですか?

ジオコーダーに、結果セットで返されるadministrative_area_level_1を指定する方法がありますか?通りの名前は含まれていますか?

+0

質問に答えるのではなく、質問を編集して例を追加してください。 – miguev

0

逆ジオコーディングのlatlngsによって得ることができますが、必ずしもストリートレベルのアドレスをジオコーディングするとは限りません。

ダーウィン

address=Darwinあなたがaddress=briggs+street,darwinを得る「ダーウィン市」と異なる口語都市を返します。 「ダーウィン」の口語都市ではありませんしながら、口語の都市は、「ダーウィン市」に含まれる「ダーウィン市」の"types": ["colloquial_area", "locality", "political"]代わりに"types" : ["locality", "political"]

(非口語)でマークされています。後者は、次の(より大きな)政治部門、「ダーウィン自治体」を含む「ノーザン・テリトリー」にのみ含まれています。これはあなたが見るコンポーネントについて説明します。

ブルックリン

ブルックリン、ニューヨーク市のいくつかの他の部分は少し特殊です。そこには、ニューヨーク(ニューヨーク)の名前は郵便番号には関係しません。これは、ストリートレベルのアドレスが局所性を持っていることになって、そしてので、これは国全体でのケースのように思われることを除いて、ブルックリンのと同じ

オーデンセaddress_components

ですされていない理由は次のとおりです。administrative_area_level_1コンポーネントはストリートレベルの住所には関連しないため表示されません。

関連する問題