更改静态地图图像中多段线的颜色

Change color of polyline in static map image

我使用 MapboxStatic 成功创建了静态图像,并将记录的轨道坐标作为 GeoJson 数据。

我不知道如何编辑图像上绘制的路线的颜色 - 它默认为 black/gray 颜色,我找不到更改它的方法。

我意识到它必须通过编辑 GeoJson 属性本身但我不知道如何在 swift?

很想了解如何以某种方式改变颜色...

       let camera = SnapshotCamera(
            lookingAtCenter: CLLocationCoordinate2D(latitude: self.mapView.camera.centerCoordinate.latitude, longitude: self.mapView.camera.centerCoordinate.longitude),
            zoomLevel: 12)
        let options = SnapshotOptions(
            styleURL: self.mapView.styleURL,
            camera: camera,
            size: self.mapView.bounds.size)
        
        let coordinates = self.viewModel.getTrack().locations?.map { loc -> CLLocationCoordinate2D in
            CLLocationCoordinate2D(latitude: loc.latitude, longitude: loc.longitude)
        }
        
        let trackLine = MGLPolyline(coordinates: coordinates!, count: UInt(coordinates!.count))

        let data = trackLine.geoJSONData(usingEncoding: String.Encoding.utf8.rawValue)
        let getJson = GeoJSON(objectString: String(data: data, encoding: .utf8)!)
       
        options.overlays.append(getJson)

您需要使用 MGLPolylineFeature 来控制特征属性。

所以不用

let trackLine = MGLPolyline(coordinates: coordinates!, count: UInt(coordinates!.count))

它应该看起来像

let trackLine = MGLPolylineFeature(coordinates: coordinates!, count: UInt(coordinates!.count))
        
polyline.attributes.updateValue("red", forKey: "stroke")