-
(void)fetchNearbyInfo
{
CLLocationDegrees latitude=116.13554;
CLLocationDegrees longitude=38.413546;
CLLocationCoordinate2D location=CLLocationCoordinate2DMake(latitude, longitude);MKCoordinateRegion region=MKCoordinateRegionMakeWithDistance(location, DEFAULTSPAN ,DEFAULTSPAN );
MKLocalSearchRequest *requst = [[MKLocalSearchRequest alloc] init];
requst.region = region;
requst.naturalLanguageQuery = @"place"; //想要的信息
MKLocalSearch *localSearch = [[MKLocalSearch alloc] initWithRequest:requst];[localSearch startWithCompletionHandler:^(MKLocalSearchResponse *response, NSError *error){
if (!error)
{
[_nearbyInfoArray addObjectsFromArray:response.mapItems];
//
}
else
{
//
}
}];//
}
這一句很重要旷坦,因為他要是一個NSString類型的字符串,但是往往不知道應該賦值什么佑稠,其實我試過了秒梅,只要是你能想到的英語單詞(地面)幾乎都能顯示出來,如:
醫(yī)院:hospital
旅館:hotel
小區(qū):village
學校:school
這些都可以獲得你想要的信息舌胶,當然你如果想要全部類型的可以使用place(我試了很多捆蜀,發(fā)現(xiàn)這個最合適)
2.蘋果提供的這個接口,一次只會返回固定的10個數(shù)組幔嫂,如果你有需求要獲得多個的話辆它,建議使用不同naturalLanguageQuery獲得多次請求后將其拼組在一起(有什么好的辦法,也求大神們評論告訴我)
3.除了蘋果地圖提供這個接口外還有其他的地圖也能獲得履恩,可以使用http協(xié)議獲得锰茉,如:
google接口:
https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=%f,%f&language=en&radius=1000&sensor=false&key=%@
百度接口:
http://api.map.baidu.com/place/v2/search?&query=%@&location=%f,%f&radius=2000&output=json&ak=%@
具體使用方法,請參考官方文檔切心,這里我就不介紹了飒筑。