【问题标题】:How to delete the shape(circle) on google map when tap on marker?点击标记时如何删除谷歌地图上的形状(圆圈)?
【发布时间】:2018-07-30 09:44:00
【问题描述】:

我可以在“didTapAt”事件中在谷歌地图上添加许多标记和圆圈,但我也想删除它们,对于标记我可以在“didTap 标记”事件中执行此操作,但我怎样才能删除它的形状而不是其他形状?

【问题讨论】:

    标签: ios swift xcode google-maps maps


    【解决方案1】:
    let circle = GMSCircle(position: CLLocationCoordinate2D(latitude: 40.7336299, longitude: 30.1616061, radius: 10)
     circle.isTappable = true
     circle.map = mapView
    
    func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) {
        overlay.map = nil
    }
    

    【讨论】:

    • 但问题是我想同时隐藏它们,有什么办法吗?
    • 当你设置 overlay.map = nil 如果你想再次显示,圆圈将从 mapView 中删除设置 circle.map = mapView(你能接受答案)
    • 实际问题如何访问didTap覆盖中的标记,或didTap标记中的覆盖?因为当我在标记上标签时,标记会消失而不是覆盖,它是地图上的多选
    • marker 和 overlay 是不同的东西,你需要知道你想在 didTap 事件中访问哪个 marker 或 overlay。如果您有多个标记,则可以存储在数组中,并且可以像这样访问覆盖层的 didTap 方法中的标记; var markers = [GMSMarker]() func mapView(_ mapView: GMSMapView, didTap overlay: GMSOverlay) { overlay.map = nil markers[0].map = nil }let circle = GMSCircle(position: CLLocationCoordinate2D(latitude: 40.7336299, longitude: 30.1616061), radius: 10) circle.isTappable = true circle.map = mapView
    • 说的对,太多了
    猜你喜欢
    • 2019-02-18
    • 1970-01-01
    • 2011-01-28
    • 2012-09-27
    • 1970-01-01
    • 2012-10-17
    • 2019-06-07
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多