Google商家信息自动填充功能 - 如何获得纬度和经度?

时间:2014-12-30 12:52:02

标签: ios autocomplete google-places-api

我使用网址:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY&types=geocode

如何使用地点位置(纬度和经度)检索数据?

3 个答案:

答案 0 :(得分:20)

仅使用此网址:

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY

我需要做的就是从响应中获取place_id,然后在下面的URL中使用它:

https://maps.googleapis.com/maps/api/place/details/json?input=bar&placeid=PLACE_ID&key=API_KEY

其中:

PLACE_ID - 从之前的请求中检索place_id

API_KEY - Google生成的密钥,用于我的应用。

autocomplete必须替换为上述网址中的details

答案 1 :(得分:3)

这实际上称为" Google商家信息自动填充"不是"地图自动完成"。您从那里获得地点ID,您需要致电Google地方api以检索详细信息,包括地点等。

https://developers.google.com/places/documentation/details

或者您可以根据需要使用Place Search API。

https://developers.google.com/places/documentation/search

答案 2 :(得分:3)

https://maps.googleapis.com/maps/api/place/autocomplete/json?input=bar&key=API_KEY

然后获取place_id并调用以下函数来获取数据

let placesClient = GMSPlacesClient.shared()
    func GetPlaceDataByPlaceID(pPlaceID: String)
    {
      //  pPlaceID = "ChIJXbmAjccVrjsRlf31U1ZGpDM"
        self.placesClient.lookUpPlaceID(pPlaceID, callback: { (place, error) -> Void in

            if let error = error {
                print("lookup place id query error: \(error.localizedDescription)")
                return
            }

            if let place = place {
                print("Place name \(place.name)")
                print("Place address \(place.formattedAddress!)")
                print("Place placeID \(place.placeID)")
                print("Place attributions \(place.attributions)")
                print("\(place.coordinate.latitude)")
                print("\(place.coordinate.longitude)")
            } else {
                print("No place details for \(pPlaceID)")
            }
        })
    }