0

私は、ユーザーが郵便番号を入力できるようにする素晴らしいチュートリアルに従っています。その後、ListView は、郵便番号に一致する世界中の場所を表示します。データが入力された ListView の住所をクリックすると、その位置が mapView 上のマーカーで示されます。

私はこのチュートリアルに取り組み、HTTP Web サービスに慣れてきました。現時点では、コードは「geonames」データベースのオンライン サービスを使用して、提供された郵便番号を照会しています。今度は、Google API をコードに実装してスーパーマーケットを検索したいと考えています。

geonames は、提供された郵便番号からの JSON 応答を次の形式で使用します。

{"postalCodes":[{"adminName2":"El Paso","adminCode2":"041","adminCode1":"CO","postalCode":"80907","countryCode":"US","lng":-104.817034,"placeName":"Colorado Springs","lat":38.876001,"adminName1":"Colorado"}]}

上記の文字列は、郵便番号「80907」からのものです。

これは geonames の文字列 URL です。

private static final String GEONAME_RESTURL 
    = "http://api.geonames.org/postalCodeSearchJSON?maxRows=8&username=demo&postalcode=";

Google API ドキュメントを読んだところ、次の「近隣検索リクエスト」検索文字列が見つかりました。

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&types=food&name=harbour&sensor=false&key=AddYourOwnKeyHere

郵便番号の一致を返すコードは次のとおりです。

    DataWrapper wrap = new DataWrapper();
wrap = wrap.fromJson(responseString);
return wrap.postalCodes;

スーパーマーケットの Google 検索文字列の geoname 結果を使用して、上記のように返された JSON 検索文字列をこれから見つけるにはどうすればよいですか?

検索範囲を指定した数値に固定できることはわかっていますが、検索文字列に一致するものを取得してスーパーマーケットを一覧表示したいと考えています。

私がこの質問で十分に明確であることを願っています!.

4

1 に答える 1

1

geonamesAPIを使用するだけでこれを解決できたようです。Google APIと同じくらい完全かどうかはわかりませんが、登録については一見の価値があります。

于 2013-02-21T20:03:44.387 に答える