Google Maps iOS SDK点击地图上的place id

4

在iOS Google地图SDK中,点击POI时是否可能获取位置ID。

例如,点击餐厅时,我希望显示一些信息,如评论和营业时间。

查看文档,可以看到委托方法mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D),但没有提供位置ID的任何信息。不确定仅使用坐标来查找确切位置ID会有多准确。

1个回答

1
你可以通过使用坐标来进行Google Places API请求到地点ID。
示例API请求URL:
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()
    }

您可以从JSON响应中获取地点ID。

@Ben_hawk,我的回答解决了你的问题吗?如果是这样,请你将我的回答标记为已接受的答案好吗?谢谢。 - ztan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接