В GMSMapView не отображаются бизнес-объекты, не вызывается didTapPOIWithPlaceID
Я показываю GMSMapView
, но не могу добиться, чтобы показывались такие деловые места, как рестораны, отели, магазины и т. д. Согласно документам, использующим mapType kGMSTypeNormal
должен предоставить этот запрос.
Кроме того, бизнес-POI отображаются на карте по умолчанию, если тип карты kGMSTypeNormal.
К сожалению, он показывает только "официальные" POI, такие как парки, достопримечательности, больницы и тому подобное.
Кроме того, я ожидал, что GMSMapViewDelegate
функция-член mapView:didTapPOIWithPlaceID:name:location:
вызывается, когда я нажимаю на один из этих "официальных" POI, но независимо от того, где я нажимаю, функция не вызывается. Я временно попробовал соответствующий mapView:didTapAtCoordinate:
просто чтобы убедиться, что я правильно настроил делегата, и это работает отлично.
Вот мой код:
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)")
}
}
Что может быть подсказкой к решению, но на данный момент меня смущает только то, что согласно API GMSMapView
имеет свойство под названием mapStyle
, Когда я пытаюсь получить доступ к этому свойству Xcode выдает ошибку компилятора:
Значение типа 'GMSMapView' не имеет члена 'mapStyle'
1 ответ
mapStyle
и бизнес-POI были добавлены в версии 2.1, выпущенной 22 сентября 2016 года. Смотрите здесь:
https://developers.google.com/maps/documentation/ios-sdk/releases
Может быть, у вас есть более старая версия SDK?