Ich zeige eine GMSMapView
, aber kann nicht erreichen, dass Geschäfte wie Restaurants, Hotels, Geschäfte usw. gezeigt haben. Nach der docs mit dem mapType kGMSTypeNormal
sollte diese Anfrage stellen.Keine Business-POIs auf GMSMapView angezeigt, didTapPOIWithPlaceID nicht
Leider zeigt es nur "offizielle" POIs wie Parks, Sehenswürdigkeiten, Krankenhäuser und dergleichen.
Außerdem hätte ich erwartet, dass die GMSMapViewDelegate
Memberfunktion mapView:didTapPOIWithPlaceID:name:location:
aufgerufen wird, wenn ich einen dieser "offiziellen" POIs antippen, aber egal wo ich tippe, bekomme ich die Funktion nicht aufgerufen zu werden. Ich probierte vorübergehend die entsprechende mapView:didTapAtCoordinate:
nur um sicherzustellen, dass ich den Delegierten richtig eingerichtet und das funktioniert perfekt.
Hier ist mein Code:
import UIKit
import GoogleMaps
class PoiGoogleMapVC: UIViewController, UITextFieldDelegate, CLLocationManagerDelegate, GMSMapViewDelegate {
@IBOutlet weak var mainMap: GMSMapView!
let locationManager = CLLocationManager()
override func viewDidLoad() {
super.viewDidLoad()
mainMap.delegate = self
locationManager.delegate = self
let camera: GMSCameraPosition = GMSCameraPosition.camera(withLatitude: 48.857165, longitude: 2.354613, zoom: 8.0)
self.mainMap.mapType = kGMSTypeNormal
self.mainMap.camera = camera
locationManager.requestWhenInUseAuthorization()
}
func mapView(_ mapView: GMSMapView, didTapPOIWithPlaceID placeID: String, name: String, location: CLLocationCoordinate2D) {
print("You tapped \(name): \(placeID), \(location.latitude)/\(location.longitude)")
}
}
Was ein Hinweis auf die Lösung sein könnte, aber an diesem Punkt nur mich verwirrt, ist, dass nach dem api docGMSMapView
eine Eigenschaft mapStyle
genannt hat. Wenn ich versuche, diese Eigenschaft Xcode zuzugreifen gibt mir einen Compiler-Fehler:
Value of type 'GMSMapView' has no member 'mapStyle'
Das ist die richtige Antwort. Es war auch mein Verdacht, aber seit ich es von Grund auf installiert habe, konnte ich es nicht glauben. Es stellt sich heraus, dass es nicht schadet (und manchmal sehr nützlich sein kann), wenn Sie direkt nach Ihrer Pod-Installation ein 'pod update' durchführen. Vielen Dank! – tr03lf