首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从PlaceID或GMSPlace获取GMSAddress

如何从PlaceID或GMSPlace获取GMSAddress
EN

Stack Overflow用户
提问于 2015-06-29 09:25:28
回答 3查看 6.9K关注 0票数 7

我正在使用Google Places API for iOS的自动完成功能,它返回placeID。如何从placeID获取GMSAddress?我目前使用lookupPlaceID获取GMSPlace,然后使用reverseGeocodeCoordinate从GMSPlace中的coordinate获取GMSAddress。但是它请求Google API 3次: AutoComplete,lookupPlaceID,reverseGeocodeCoordinate。

有没有办法直接从PlaceID或GMSPlace获取GMSAddress?

EN

回答 3

Stack Overflow用户

发布于 2015-07-14 23:12:52

这是Google Maps SDK for iOS的1.1.0版本中的一个错误。参见here

正如文档中所述的hereaddress属性应该在GMSPlace实例上公开一个GMSAddress

我刚刚切换到使用REST API。为API编写一个快速包装器并完全抛弃Google SDK并不是太糟糕。如果你正在使用Alamofire,我和你也许可以分享我写的东西。

票数 5
EN

Stack Overflow用户

发布于 2016-10-06 05:36:39

我可以在一个API调用中从placedID获取地址,代码如下:

代码语言:javascript
复制
GMSPlacesClient *placesClient = [[GMSPlacesClient alloc] init];

[placesClient lookUpPlaceID:result.placeID callback:^(GMSPlace *place, NSError *error) {
    if (error != nil) {
        NSLog(@"Place Details error %@", [error localizedDescription]);
        return;
    }
    if (place != nil) {
        NSString *locality = @"";
        for (GMSAddressComponent *add in place.addressComponents) {
            //locality
              NSLog(@"%@",add.type);
              NSLog(@"%@",add.name);
//type will be street_name, locality, admin_area, country,
//name will hold the corresponding value   
        }

    } else {
        NSLog(@"No place details for %@", result.placeID);
    }

}];
票数 3
EN

Stack Overflow用户

发布于 2015-10-29 16:14:35

现在,下面的代码对于这个版本的SDK (1.10.5)是否安全(足够)?在接下来的6个月内,这一点被打破的概率是多少?

代码语言:javascript
复制
NSArray* dic = [place valueForKey:@"addressComponents"];

for (int i=0;i<[dic count];i++) {
    if ([[[dic objectAtIndex:i] valueForKey:@"type"] isEqualToString:@"street_number"]) {
    NSLog(@"street_number: %@",[[dic objectAtIndex:i] valueForKey:@"name"]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31106534

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档