与GET api相比,给定lat long的反向地理编码为iOS app提供了不完整的地址结果

时间:2018-01-15 05:46:15

标签: ios google-maps location reverse-geocoding

在我的iOS应用中,我正在尝试获取lat long的地址详细信息(18.557121460659193,73.793425261974335)。我正在使用以下代码来获取地址详细信息。

sudo mkdir /usr/local/Cellar
sudo chown -R $(whoami) /usr/local/Cellar

作为回应,我收到一个GMSReverseGeocodeResponse对象,其中包含GMSAddress对象数组的结果。

结果数组包含7个对象,收到的第一个地址组件如下所示

func reverseGeoCode() {
    let gmsCoder = GMSGeocoder()
    gmsCoder.reverseGeocodeCoordinate(CLLocationCoordinate2DMake(18.557121460659193, 73.793425261974335), completionHandler: { (response, error) in
        if let address = response?.firstResult() {
            let lines = address.lines! as [String]

            let completeAddress = lines.joined(separator: " ")
            print(completeAddress)
            print(response?.results())
        }
    })
}

然而,这不是收到的详细地址结果。

当我尝试使用GET api

获取位置地址详细信息时

http://maps.googleapis.com/maps/api/geocode/json?latlng=18.557121460659193,73.793425261974335&sensor=true

我得到的结果数组为10.此外,第一个地址详细信息是这样的

some : 7 elements
- 0 : GMSAddress {
coordinate: (18.557121, 73.793425)
lines: S.No.3, Baner Road, Riviresa Society, Baner, Pune, Maharashtra 411045
thoroughfare: S.No.3 Baner Road
subLocality: Riviresa Society
locality: Pune
administrativeArea: Maharashtra
postalCode: 411045
country: India
}

此处显示的第一个地址组件是准确的地址,当我尝试在iOS应用程序中使用reversegeocode api获取详细信息时,也应该显示该地址。

我还在Android应用中实现了反向地理编码,Android应用显示了地址详细信息,如GET api的第一个地址组件。

有人可以帮我确定与GET api和Android应用程序相比,我收到不完整地址组件数组的原因。对此的任何帮助将不胜感激。

环境 - iOS版:iOS 11.1 适用于iOS版的Google Maps SDK:2.4.0

0 个答案:

没有答案