得到错误与lookUpPlaceID

问题描述:

我试图运行下面的代码谷歌地图API的地方:得到错误与lookUpPlaceID

func mapView(_ mapView: GMSMapView, didTapPOIWithPlaceID placeID: String, name: String, location: CLLocationCoordinate2D) { 
     print("You tapped \(name): \(placeID), \(location.latitude)/\(location.longitude)") 

     infoMarker.snippet = placeID 
     infoMarker.position = location 
     infoMarker.title = name 
     infoMarker.opacity = 0; 
     infoMarker.infoWindowAnchor.y = 1 
     infoMarker.map = mapView 
     mapView.selectedMarker = infoMarker 

     placesClient!.lookUpPlaceID(placeID, callback: { (place: GMSPlace?, error: NSError?) -> 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)") 
      } else { 
       print("No place details for \(placeID)") 
      } 
     } as! GMSPlaceResultCallback) 
    } 

只要lookUpPlaceID线运行时,它抛出异常:

EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0) 

enter image description here

像这样的东西应该适合你:

placesClient.lookUpPlaceID(placeId, 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)") 
    } else { 
    print("No place details for \(placeID)") 
} 
}) 
+0

工作,你能解释我做错了什么吗? – Khattab