gpt4 book ai didi

ios - Google iOS Geocoding SDK 反向经纬度到地点 ID

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:36:09 24 4
gpt4 key购买 nike

目前,我们可以使用 GeoCoder 中的 reverseGeocodeCoordinate 将经纬度反转为地址。

https://developers.google.com/maps/documentation/ios/reference/interface_g_m_s_geocoder

但是,似乎没有办法将其逆向到Google places。

是否可以从iOS SDK获取地点?

谢谢亚历克斯

最佳答案

是的,您可以使用 iOS SDK 的 CLGeocoder。检查代码,

+ (void)fetchAddressFromCoordinates:(CoordinatesDataModel *)coordinates returnValue:(void(^)(NSString* address))returnBlock { 

CLLocation *currentLocation = [[CLLocation alloc] initWithLatitude:(CLLocationDegrees)[coordinateDataModel.latitude doubleValue] longitude:(CLLocationDegrees)[coordinateDataModel.longitude doubleValue]];
if (currentLocation != nil)
// Reverse Geocoding
// “reverseGeocodeLocation” method to translate the locate data into a human-readable address.
// The reason for using "completionHandler" ----
// Instead of using delegate to provide feedback, the CLGeocoder uses “block” to deal with the response. By using block, you do not need to write a separate method. Just provide the code inline to execute after the geocoding call completes.
CLGeocoder *geocoder = [[CLGeocoder alloc] init];
[geocoder reverseGeocodeLocation:currentLocation completionHandler:^(NSArray *placemarks, NSError *error)
{
if (error == nil && [placemarks count] > 0)
{
if(placemarks && placemarks.count > 0)
{
CLPlacemark *placemark= [placemarks objectAtIndex:0];
// address defined in .h file
NSString *address = [NSString stringWithFormat:@"%@ %@ %@ %@ %@",[placemark subThoroughfare], [placemark thoroughfare], [placemark locality], [placemark administrativeArea], [placemark country]];

NSCharacterSet *whitespace = [NSCharacterSet whitespaceCharacterSet];
address = [address stringByTrimmingCharactersInSet:whitespace];

NSMutableArray *words = [[address componentsSeparatedByCharactersInSet:whitespace] mutableCopy];
// NSLog(@":%@",words);
NSMutableArray * wordsArray = [[NSMutableArray alloc] init];
for (int i= 0; i< [words count]; i++) {
if (![[words objectAtIndex:i] isEqualToString:@"(null)"] ) {
[wordsArray addObject:[words objectAtIndex:i]];
}
}
address = [wordsArray componentsJoinedByString:@" "];
returnBlock(address);
}
}
}];}

关于ios - Google iOS Geocoding SDK 反向经纬度到地点 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30588526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com