0
回答
支持正向反向 Geocoder 的源码
华为云4核8G,高性能云服务器,免费试用   

本文转自 http://blog.csdn.net/favormm/archive/2011/06/29/6574658.aspx


    iOS 的 SDK 中只有反向 gecoder,即从经纬度到地址的解析,没有正向即从地址到经纬度的解析。 要支持正向解析就只有直接调用 google api。今天与大家分享两个开源的项目,支持正向与反向解析

Tweet this

SVGeocoder

#RELEASES, #IPHONEDEV

There is no forward geocoding class on iOS. And it’s no secret that MKReverseGeocoder is a pain in the butt and returns with an error half of the time. So I took the opportunity to write SVGeocoder, a simple geocoder and reverse geocoder for iOS. My first GitHub release!

SVGeocoder requires the CoreLocation, MapKit and AddressBook frameworks as well as the (included) TouchJSON parser by Jonathan Wight. It also uses the Google Geocoding API so make sure you read theirTerms of Service before using SVGeocoder.

Using the Geocoder

      
      
NSString * addressString = @"3245 St-Denis, Montreal"
SVGeocoder * geocodeRequest = [[ SVGeocoder alloc ] initWithAddress: addressString ];
[ geocodeRequest setDelegate: self ];
[ geocodeRequest startAsynchronous ];
view raw Geocoder.m This Gist brought to you by  GitHub.

Using the Reverse Geocoder

      
      
CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake ( 45.54181 , - 73.62928 );
SVGeocoder * rGeocoderRequest = [[ SVGeocoder alloc ] initWithCoordinate: coordinate ];
[ rGeocoderRequest setDelegate: self ];
[ rGeocoderRequest startAsynchronous ];
view raw ReverseGeocoder.m This Gist brought to you by  GitHub.

SVGeocoderDelegate

Best of all, SVGeocoderDelegate returns an MKPlacemark object just like with MKReverseGeocoder:

      
      
- ( void ) geocoder: ( SVGeocoder * ) geocoder didFindPlacemark: ( MKPlacemark * ) placemark ;
- ( void ) geocoder: ( SVGeocoder * ) geocoder didFailWithError: ( NSError * ) error ;
 

原文链接:http://www.cnblogs.com/chen1987lei/archive/2011/07/04/2097490.html
<无标签>
举报
长平狐
发帖于6年前 0回/111阅
顶部