4

Googleジオコーダーに渡された住所、郵便番号、都市、州に基づいて、都市内の近隣を効果的/正確に引き出す方法はありますか?

HTTP経由でやろうとすると(理想的な解決策)次の情報が返されます

<kml>
−
<Response>
<name>anthonys cookies san francisco California</name>
−
<Status>
<code>200</code>
<request>geocode</request>
</Status>
−
<Placemark id="p1">
<address>San Francisco, CA, USA</address>
−
<AddressDetails Accuracy="4">
−
<Country>
<CountryNameCode>US</CountryNameCode>
<CountryName>USA</CountryName>
−
<AdministrativeArea>
<AdministrativeAreaName>CA</AdministrativeAreaName>
−
<SubAdministrativeArea>
<SubAdministrativeAreaName>San Francisco</SubAdministrativeAreaName>
−
<Locality>
<LocalityName>San Francisco</LocalityName>
</Locality>
</SubAdministrativeArea>
</AdministrativeArea>
</Country>
</AddressDetails>
−
<ExtendedData>
<LatLonBox north="37.8454521" south="37.7043396" east="-122.2913561" west="-122.5474749"/>
</ExtendedData>
−
<Point>
<coordinates>-122.4194155,37.7749295,0</coordinates>
</Point>
</Placemark>
</Response>
</kml>

お気づきの方もいらっしゃると思いますが、「地域名」はまだサンフランシスコと言っていますか?

この時点で、HTTP呼び出しではなく、Javascript API /呼び出しを利用することに積極的です。これは、私がやろうとしていることに対してやり過ぎ(そしてもっと頭痛の種)のように思えました。

理想的には、今のところサンフランシスコで機能するためにこれが必要ですが、米国のすべての主要都市で機能させることができれば素晴らしいと思います。

4

4 に答える 4

4

私の知る限り、GoogleMapsAPIを介してNeighborhoodデータを取得することはできません。アーバンマッピングのNeighborhoodAPIのような別のWebサービスを試すことができます:http://developer.urbanmapping.com/demo/またはMaponics(http://www.maponics.com/Neighborhood_Boundaries/neighborhood_boundaries.html)。アーバンマッピングのAPIには、緯度経度で近隣を取得するためのメソッドと、さまざまなアドレス要素が含まれています。

于 2009-12-30T20:00:17.273 に答える
3
function getGeoInfo($street,$city,$state) {
    $url = "http://maps.googleapis.com/maps/api/geocode/json?address={$street}+{$city},+{$state}&sensor=false";
    $json_returned = file_get_contents($url);
    $data = json_decode($json_returned);
    return ($data);
}

例として、もちろん、変数をurlEncodeする必要があり、*file_get_contents*関数の代わりにCuRLを使用することをお勧めします。

リターンをvar_dumpすると、近傍データとそれにアクセスするための構造が表示されます。

于 2012-02-03T02:57:54.640 に答える
2

更新-近隣データが利用可能になると、新しいV3APIを介してGoogleのジオコーダーから提供されるようになりました。Neighborhoodは、address_components配列のもう1つのデータ型です。詳細については、code.google.com / apis /マップ/documentation/geocoding/をご覧ください。

于 2012-01-10T09:31:11.743 に答える
0

http://www.maxmind.com/app/ip-locationから無料サービスを使用してください

100%正確になることは決してありませんが、有利なスタートを切ることができます。

HTML5にはジオターゲティングもありますが、すべてのブラウザがまだそれをサポートしているわけではなく、ユーザーの地理的位置を抽出する方法がわかりません。

于 2009-12-09T02:06:40.673 に答える