ios - GMSMarker 信息窗口内容(片段)未更新

标签 ios swift google-maps swift3

我有一个数组,其中每个元素都有 Latitude Longitude 和一些其他值,用于在 map 上绘制标记。我正在使用以下代码更新 GMSMarker 的片段、位置和图标。我正在使用 UISlider 遍历数组。当我这样做时,标记的图标和位置会更新,而标记的 InfoWindow 不会更新。它仅显示旧内容。但是当我取消选择并再次选择它时,它会显示正确的信息窗口内容。我已尝试使用 tracksInfoWindowChanges,但它不起作用。

 @IBAction func progressChanged(_ sender: UISlider) {

    let iVal = Int(sender.value)

    if iVal < progressList.count {
        let str = progressList[iVal]
        let arr = str.components(separatedBy: "!")
        let lat = Double(arr[4])!
        let lng = Double(arr[5])!
        let pos = CLLocationCoordinate2DMake(lat, lng)
        let fRotation = Float(arr[9])
        let rotation = CGFloat(fRotation!)
        let strTime = arr[0]
        let idleFlag = arr[1]
        let strSpeed = arr[2]
        let strName = arr[3]

        proMarker.position = pos
        proMarker.title = strName

        if idleFlag == "Y" {
            proMarker.snippet = strSpeed + "!" + strTime + "!" + "idle"
            proMarker.tracksInfoWindowChanges = true

            let markerImage = UIImage(named: "arrow_red")
            let rotated = markerImage?.imageRotatedByDegrees(rotation, flip: false)

            proMarker.icon = rotated

        } else {
            proMarker.snippet = strSpeed + "!" + strTime + "!" + "moving"
            proMarker.tracksInfoWindowChanges = true

            let markerImage = UIImage(named: "arrow_green")
            let rotated = markerImage?.imageRotatedByDegrees(rotation, flip: false)

            proMarker.icon = rotated
        }

        proMarker.groundAnchor = CGPoint(x: 0.5, y: 0.5)

        let dTime = sdf5.date(from: strTime)
        let sTime = sdf6.string(from: dTime!)

        hTime.text = sTime
        hSpeedIdle.text = strSpeed + " km/h"

    }

}

请帮我解决我的问题。

最佳答案

这不是添加 lat_long 的正确方法,您应该将 marker_obj 添加到数组中,因为每个标记都包含所有相关信息,它可以帮助您减少此类代码的长度。

关于ios - GMSMarker 信息窗口内容(片段)未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44601224/

相关文章:

ios - 找到离坐标最近的商店

ios - 如何从 'http://country.io/names.json' 获取字典和数组

ios - 单元格高度可变的 UITableView : Working in IB but not programmatically

ios - 在 Swift 的警报中使用自定义 View

ios - 获取系统音量 iOS

javascript - 使用 jasascript 或 angularjs 为 google map 创建动态 url 表达式

ios - 在 UIWebView 的本地 HTML 文件中加载本地镜像

ios - 您如何正确使用 NSStreams(无阻塞、读到数据末尾和消息重试)?

javascript - 返回 javascript 结果以在 php 中使用

java - 如何使用 Bundle 发送 android 对象?