14

現在、mapkit はフォワード ジオコーディング機能を提供していないため、検索バーを使用してユーザーが入力した住所から緯度と経度の座標を返す方法について誰か助けてもらえますか? 誰かがサンプルコードを提供できれば、それは素晴らしいことです。

4

7 に答える 7

32

iOS 5 では、フォワード ジオコーディングが可能になりました。

http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/LocationAwarenessPG/UsingGeocoders/UsingGeocoders.html#//apple_ref/doc/uid/TP40009497-CH4-SW5

これが役立つことを願っています!

于 2011-10-29T00:56:28.470 に答える
26

Google のジオコーディング サーバー用のフォワード ジオコーディング API を作成しました。私のブログ投稿をチェックしてください: http://blog.sallarp.com/ipad-iphone-forward-geocoding-api-google/

于 2010-03-14T23:21:10.097 に答える
15

iOS 用のシンプルなフォワードおよびリバース ジオコーダー クラスであるSVGeocoderを作成しました。Google Geocoding API も使用し、MKPlacemarkを返します。

これは、住所文字列をジオコーディングする方法です。

NSString *addressString = @"3245 St-Denis, Montreal"
SVGeocoder *geocodeRequest = [[SVGeocoder alloc] initWithAddress:addressString];
[geocodeRequest setDelegate:self];
[geocodeRequest startAsynchronous];

そして、次のように CLLocationCoordinate2D オブジェクトをリバース ジオコーディングします。

CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(45.54181, -73.62928);
SVGeocoder *rGeocoderRequest = [[SVGeocoder alloc] initWithCoordinate:coordinate];
[rGeocoderRequest setDelegate:self];
[rGeocoderRequest startAsynchronous];

SVGeocoderDelegate は、次の 2 つのメソッドを提供します。

- (void)geocoder:(SVGeocoder *)geocoder didFindPlacemark:(MKPlacemark *)placemark;
- (void)geocoder:(SVGeocoder *)geocoder didFailWithError:(NSError *)error;
于 2011-02-12T02:00:00.177 に答える
3

github の iOS5 CoreLocation フレームワークで CLGeocoder を使用して、フォワード ジオコーディングとリバース ジオコーディングに関する小さな作業を行いました。 https://github.com/Mangesh20/geocoding

于 2012-08-08T07:00:28.023 に答える
2

これは、MapKit の現在のバージョンの既知の問題です。バグレポートを提出し、#6628720 をだまして修正を優先させます。

それまでの間、 Google マップYahoo Placemaker、またはCloudmadeからのフォワード ジオコーディング API があります。

于 2009-07-16T21:50:58.517 に答える
2

ここにもフレームワークがあります: https://github.com/tylerhall/CoreGeoLocation

ドキュメントからのコメント: 主に Yahoo のジオコーディング サービスまたは Google の Geo API をラップする Objective GeoCoder および Reverse Geocoder。

于 2011-02-08T18:52:45.700 に答える
1

MapKit にはそのような機能はありません。最善の方法は、サード パーティの Web サービスを呼び出すことです。Google にはこれを行うための API がいくつかあり、Yahoo にもあったと思います。どちらも商用利用には制限がありますので、契約書をお読みください。

于 2009-07-16T21:36:58.890 に答える