【问题标题】:Just one marker on Google Maps iOS SDKGoogle 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 不太熟悉,但只要它适合你。 :)

标签: ios swift google-maps


【解决方案1】:

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

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

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

【讨论】:

  • 谢谢开发者:我创建了这样 let marker1 = GMSMarker()
猜你喜欢
  • 2016-02-08
  • 2013-05-24
  • 1970-01-01
  • 2018-12-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多