ios - 如何在谷歌地图中点击标记

标签 ios swift google-maps

我正在使用谷歌地图,我像这样为我的 map 设置标记:

var marker = GMSMarker(position: CLLocationCoordinate2D(latitude: Double(item.lat)!, longitude: Double(item.lon)!))


 marker.map = mapview

现在,我想检测用户何时点击这些标记。

我该怎么办?

最佳答案

您应该在 viewDidLoad 中将您的 mapview 委托(delegate)设置为 self UIViewController

self.mapview.delegate = self

你的 UIViewController 应该

extension ViewControllerClass: GMSMapViewDelegate {
    //class code

    @objc(mapView:didTapMarker:) func mapView(_: GMSMapView, didTap marker: GMSMarker) -> Bool {
        //do something
        return true
    }
}

也许这个方法已经可以通过其他方式实现,但是 Xcode 迫使我在从 Swift 2 迁移到 Swift 3

关于ios - 如何在谷歌地图中点击标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43160083/

相关文章:

ios - 我们如何在 UICollectionView 的底部和顶部添加边距?

php - 在谷歌地图上显示点

ios - SiriKit 应用在安装应用时出现 "App installation failed"错误

ios - 为什么使用 UISegmentedControl 时 UIImageView 不隐藏?

ios - 无法在 Swift 中遵循 MKAnnotation 协议(protocol)

ios - 如何为正在编辑的内容提供自定义 UITableViewCell 上下文?

google-maps - 谷歌地图带阴影的折线

javascript - 谷歌离线 map : not tiles but javascript

ios - UIView 动画完成 block 未被调用

iphone - CGContextDrawPDFPage锁定并且不返回(无限循环)