#ios #swift #xcode #google-maps #swift4
#iOS #swift #xcode #google-карты #swift4
Вопрос:
У меня есть GMSMapView
экземпляр orderMapView
, который связан с моим UIViewController
. Я даю разрешения на местоположение, а позже делаю себя делегатом orderMapView
orderMapView.delegate = self
Я также делаю класс соответствующим GMSMapViewDelegate
. Затем я запускаю несколько маркеров в viewDidLoad
, один из которых выглядит следующим образом:
let marker = GMSMarker()
marker.position = CLLocationCoordinate2D(latitude: CLLocationDegrees(dataLat), longitude: CLLocationDegrees(dataLng))
marker.title = dataName
marker.snippet = "LAT: (dataLat), LONG: (dataLng)"
marker.appearAnimation = .pop
marker.map = orderMapView
marker.isDraggable = true
marker.isTappable = true
Я также реализую следующие методы делегирования:
func mapView(_ mapView: GMSMapView, didTapAt coordinate: CLLocationCoordinate2D){
//1 - IT NEITHER COMES HERE
print(coordinate)
}
func mapView(_ mapView: GMSMapView, idleAt position: GMSCameraPosition) {
print(position)
}
func mapView(_ mapView: GMSMapView, didTap marker: GMSMarker) -> Bool {
//2 - IT NEITHER COMES HERE
orderMapView.selectedMarker = marker
return true
}
func mapView(_ mapView: GMSMapView, markerInfoWindow marker: GMSMarker) -> UIView? {
let view = UIView(frame: CGRect.init(x: 0, y: 0, width: 200, height: 70))
view.backgroundColor = UIColor.white
view.layer.cornerRadius = 6
let lbl1 = UILabel(frame: CGRect.init(x: 8, y: 8, width: view.frame.size.width - 16, height: 15))
lbl1.text = marker.title
view.addSubview(lbl1)
let lbl2 = UILabel(frame: CGRect.init(x: lbl1.frame.origin.x, y: lbl1.frame.origin.y lbl1.frame.size.height 3, width: view.frame.size.width - 16, height: 15))
lbl2.text = marker.snippet
lbl2.font = UIFont.systemFont(ofSize: 14, weight: .light)
view.addSubview(lbl2)
return view
}
Я вижу маркеры на карте, но когда я нажимаю на нее, карта уменьшается и никогда не показывает информационные окна на этих маркерах. Пожалуйста, помогите.
ОБНОВЛЕНИЕ: Это происходит на симуляторе, поскольку у меня нет устройства. Может ли это быть основной и единственной проблемой?