Ios GMSMarker信息窗口内容(代码段)未更新

Ios GMSMarker信息窗口内容(代码段)未更新,ios,swift,google-maps,swift3,Ios,Swift,Google Maps,Swift3,我有一个数组,其中每个元素都有纬度经度和一些其他值,用于在地图上绘制标记。我正在使用以下代码更新GMSMarker的代码段、位置和图标。我正在使用UISlider遍历数组。当我这样做时,标记的图标和位置会更新,标记的InfoWindow不会更新。它只显示旧内容。但当我取消选择并再次选择它时,它现在显示正确的信息窗口内容。我曾尝试使用tracksInfoWindowChanges,但不起作用 @IBAction func progressChanged(_ sender: UISlider) {

我有一个数组,其中每个元素都有
纬度
经度
和一些其他值,用于在地图上绘制标记。我正在使用以下代码更新
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"

    }

}
@iAction func progressChanged(u发件人:UISlider){
设iVal=Int(sender.value)
如果iVal

请帮助我解决我的问题。

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

如注释中所述,可能是您没有创建新的标记,或者如果您正在创建,您需要从旧标记中删除地图(
marker.map=nil
)。因此,当您单击重叠标记时,信息窗口将按顺序显示。

这不是问题所在。标记位置和图标更新没有任何问题。只有信息窗口没有更新。好的,尝试在if{}条件中创建
proMarker
的新实例。