MKMapViewでビジネスロケーションを検索して表示する
-
08-07-2019 - |
質問
「食料品店」などのビジネスを検索する方法を探しています。ユーザーの現在地周辺のGoogleマップに表示します。これは、以前はアップルマップの場所を起動する古いURLスタイルでは非常に簡単でしたが、MKMapViewでそれを行う方法はわかりません。 MKAnnotationsクラスを使用する必要があることは理解していますが、私の問題はデータを見つけることです。 Googleから情報を取得するために以下のURLをプラグインしようとしましたが、データのサイズが大きすぎるようです。
MKMapViewにキーワードを検索し、現在地周辺の一致するすべてのビジネスを表示するように指示するプロパティを設定する簡単な方法はありますか?または、Googleからこの情報を取得する方法を知っている人はいますか?
解決
その検索で返されるKMLファイルには、多くの情報が含まれています。 MKMapView
にはGoogleを照会する方法がないため、いくつかの選択肢があります。
-
そのクエリから取得したデータを
NSXMLParser
で使用し、関心のあるもの(おそらくタイトル、緯度、経度)のみを抽出します。 KMLはXMLの単なるバージョンです。 -
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を取得できます:
別の編集
Touch JSONと呼ばれる別のJSONライブラリを次に示します。これを使用しましたが、実装は非常に簡単です。
他のヒント
maps?q =
文字列を使用するよりも、こちらの公式APIを使用することをお勧めします。
http://code.google.com/apis/maps/documentation/geocoding/
APIのJSON応答はJSONパーサーと連携します http://code.google .com / p / json-framework / 改善(他のURLは準拠したJSONを返さず、標準APIではないため、変更される可能性があります)。