Google会点击iOS SDK地址ID

时间:2015-06-08 12:36:57

标签: ios google-maps google-maps-sdk-ios

点击POI(iOS谷歌地图SDK)时是否可以获取地点ID。

例如点击餐馆我想提出一些信息,例如评论和开放时间。

查看文档我可以看到委托方法mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D),但没有提供地点ID。我不确定使用坐标来尝试找到确切的地点ID是多么准确。

1 个答案:

答案 0 :(得分:1)

您可以对地点ID执行Google Places API request。您可以使用坐标来执行API请求。

示例API请求网址:

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

在iOS中,您可以NSURLSession执行API请求:

   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()
    }

您可以从the JSON response获取地点ID。