Google Maps iOS SDK 上只有一个标记

Posted

技术标签:

【中文标题】Google Maps iOS SDK 上只有一个标记【英文标题】:Just one marker on Google Maps iOS SDK 【发布时间】:2015-11-17 04:23:02 【问题描述】:

我在我的 ios 应用程序中使用 Google Maps iOS SDK,一切都很好,我想知道如何点击地图并只添加一个标记,现在我点击了一个标记超时。

func mapView(mapView: GMSMapView!, didTapAtCoordinate coordinate: CLLocationCoordinate2D) 
        print("You tapped at \(coordinate.latitude), \(coordinate.longitude)")
        let marker = GMSMarker(position: coordinate)
        marker.title = "my title"
        marker.map = mapView
    

谢谢!

【问题讨论】:

所以您一次只希望地图上出现一个标记?或者您只想再允许一个(所以两个,包括您已经拥有的一个)? @KayAnn,在这张地图中我只需要一个标记,我不在乎用户点击了多少地图,我只需要一个标记,我确实使用了 mapView.clear(),我不知道是否是最好的解决方案,但现在看起来不错。 didTapAtCoordinate 是一个可选方法。因此,我想就像将 clickable 设置为 false 一样,如果您不使用此方法,它应该使其不可点击或至少不会返回坐标。不过我不确定。 哈哈好吧,我需要坐标,我只需要一个标记,但我在 didTapAtCoordinate 中使用了 Clear() 好吧。当然!我对 iOS 不太熟悉,但只要它适合你。 :) 【参考方案1】:

每次点击地图时,您都会创建一个新标记, 所以创建了多个对象,所以只创建一个对象(在你的类中声明它是全局的),你很高兴!

在你的函数中调用这个方法。

marker1.position = coordinate
marker1.title = "Yo Man"
marker1.map = mapView

【讨论】:

谢谢开发者:我创建了这样 let marker1 = GMSMarker()

以上是关于Google Maps iOS SDK 上只有一个标记的主要内容,如果未能解决你的问题,请参考以下文章

在 Google Maps SDK iOS 中的所有其他标记上设置标记

如何更新 Google Maps SDK iOS

iOS 单元测试在 CocoaPods Google Maps SDK 上失败

在 Google Maps SDK for native iOS/objective C 中的 InfoWindow/Marker 上添加 Click 事件

适用于 iOS 的 Google Maps SDK 不断增加内存使用量

适用于 iOS 的 Google Maps SDK - 折线