4

「食料品店」などのビジネスを検索し、ユーザーの現在地周辺の Google マップに表示する方法を見つけようとしています。これは、Apple マップの場所を起動する古い URL スタイルで非常に単純でしたが、MKMapView でそれを行う方法がわかりません。MKAnnotations クラスを使用する必要があることは理解していますが、問題はデータを見つけることです。以下の URL をプラグインして Google から情報を取得しようとしましたが、データのサイズが大きすぎるようです。

http://maps.google.com/maps?q=食料品&mrt=yp&sll=37.769561,-122.412844&z=14&output=kml

MKMapView にキーワードを検索し、現在の場所周辺で一致するすべてのビジネスを表示するように指示するプロパティを設定する簡単な方法はありますか? または、Google からこの情報を取得する方法を知っている人はいますか?

4

2 に答える 2

6

その検索によって返された KML ファイルには、多くの情報が含まれています。MKMapViewには Google にクエリを実行する方法がないため、次の 2 つの選択肢があります。

  1. でそのクエリから取得したデータを使用し、NSXMLParser関心のあるもの (おそらくタイトル、緯度、経度) のみを抽出します。KML は XML の単なるバージョンです。

  2. Google ドキュメントを調べて、より軽量なデータ形式を提供する呼び出しを見つけてください。URL の形式を json に変更できますが、その中の情報は同じです。

ただし、ファイルは約 50KB しかありません。私の経験では、50KB の XML ファイルをダウンロードして解析するには、3G で約 5 秒かかります。

編集:これを見つけたので、興味があるかもしれないと思いました:

多くの人が、JSON を介して Web サービスとの間でデータを iPhone に転送します。これは、XML を使用するよりもはるかに優れた方法です。iPhone で XML を解析するのは、単純に最悪です。それは非常に複雑で、非常に混乱しています。現在、YouVersion アプリの Bible は、JSON を使用してサーバーとの間ですべてを転送しており、すべてうまく機能しています。

本当に選択肢がない場合は、少なくとも JSON を使用してください。これは、私が現在使用している JSON の優れたライブラリです http://code.google.com/p/json-framework/

ここから: http://samsoff.es/post/iphone-plist-tutorial/

リクエスト文字列を次のように変更すると、JSON を取得できます。

http://maps.google.com/maps?q=食料品&mrt=yp&sll=37.769561,-122.412844&z=14&output=json

別の編集

Touch JSON と呼ばれる別の JSON ライブラリを次に示します。私はこれを使用しましたが、実装は非常に簡単です。

https://github.com/acf/TouchJSON

于 2009-10-29T02:53:40.347 に答える
1

文字列を使用するよりも、maps?q=こちらの公式 API を使用することをお勧めします: http://code.google.com/apis/maps/documentation/geocoding/

API の JSON 応答は、JSON パーサーhttp://code.google.com/p/json-framework/とうまく連携します (他の URL は準拠した JSON を返さず、標準 API ではないため、より多くの可能性があります変更の予定)。

于 2010-03-12T12:32:57.473 に答える