【问题标题】:iOS MapBox maps laggingiOS MapBox 地图滞后
【发布时间】:2016-04-26 08:29:59
【问题描述】:

我正在为我的应用程序使用 MapBox。我需要在当前位置和给定标记之间画一条直线。每次位置更新都应更新此行。所以我写了这段代码

func mapView(mapView: MGLMapView, didUpdateUserLocation userLocation: MGLUserLocation?){
    drawPath()        
}

func drawPath(){
    if(shouldDrawLine){      
        mapView.removeOverlay(line)
        let userLoaction = mapView.userLocation!.coordinate
        linePoints = [userLoaction, destination]
        shouldDrawLine = true
        line = MGLPolyline(coordinates: &linePoints, count: 2)
        mapView.addOverlay(line)
    }
}

我得到了这样的图片:

但它太落后了!黑线每隔几秒钟闪烁一次。

如何优化它?

【问题讨论】:

    标签: ios swift maps mapbox


    【解决方案1】:

    它闪烁得如此之多,因为每次发生位置更新时您都在重新绘制线条,这可能是每秒一次,具体取决于您的更新设置。为了减少更新,您可以使用distanceFromLocation 计算到新位置的距离,并在必要时重新绘制线。或减少update interval time 但一般来说,当您移除一条折线并设置一条新折线时,总会出现闪烁效果。您可以尝试先设置新行,然后再删除旧行。这可以减少眨眼。

    【讨论】:

      猜你喜欢
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-18
      • 1970-01-01
      • 2021-10-18
      相关资源
      最近更新 更多