Google Maps iOS SDK разместить идентификатор на кран

Можно ли получить идентификатор места при нажатии на POI (iOS SDK Google Maps).

Например, нажав на ресторан, я хотел бы вызвать некоторую информацию, такую ​​как отзывы и часы работы.

Глядя на документы, я вижу метод делегата mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D) но ничего, что обеспечивает идентификатор места. Я не уверен, насколько точным было бы попытаться найти точный идентификатор места, используя только координаты.

1 ответ

Вы можете сделать запрос API Google Адресов к идентификатору места. Вы можете выполнить запрос API с помощью координаты.

Пример URL запроса API:

https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=-33.8670522,151.1957362&radius=500&key=API_KEY

В iOS вы можете сделать запрос API NSURLSession:

   func placesAPITest(coordinate: CLLocationCoordinate2D) {

        let requestURL = "https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=\(coordinate.latitude),\(coordinate.longitude)&radius=500&key=YOUR_API_KEY"
        let request = NSURLRequest(URL: NSURL(string:requestURL)!)
        let session = NSURLSession.sharedSession()
        session.dataTaskWithRequest(request,
            completionHandler: {(data: NSData!, response: NSURLResponse!, error: NSError!) in

                if error == nil {
                    let object = NSJSONSerialization.JSONObjectWithData(data, options: nil, error: nil) as! NSDictionary
                    println(object)

                    let results = object["results"] as! [NSDictionary]
                    for place in results {
                        println(place["place_id"])
                        println(place["opening_hours"])
                    }
                }
                else {
                    println("Places API error")
                }

        }).resume()
    }

Вы можете получить идентификатор места из ответа JSON.

Другие вопросы по тегам