繁体   English   中英

Mapbox自定义用户位置注释图像和位置

[英]Mapbox custom user location annotation image and position

我希望能够在iOS中的Mapbox地图上为用户位置显示自定义图像, 能够从内部来源而不是内部GPS来源设置当前用户位置。

内置的用户位置工具似乎只能从Mapbox内部位置引擎获取位置。 我已经在地图上添加了自定义注释,当我获得新的位置定位信息时,我可以更新其位置,但是动作很生涩(我可以使用照相机动画平移地图,但不能平移注释。)

iOS Mapbox SDK中有什么方法可以动画化更改注释的位置?

这就是我想出的。 MGLMapViewDelegate我使用didFinishRenderingFrame()回调来更新位置,并在两个最新位置之间进行插值。 posAnnotation是与MGLPointAnnotation关联的flightMarker ,它是MGLAnnotationView扩展,可以添加UIImageView并保存位置。

        override fun didFinishRenderingFrame(mapView: MGLMapView, fullyRendered: Boolean) {
            val frac = min((CFDate.getCurrentAbsoluteTime() - lastUpdateTimestamp) / lastUpdateInterval, 1.0)
            if(flightMarker.location.valid)
                posAnnotation.coordinate = flightMarker.interpolatedLocation(frac)
        }

        override fun viewForAnnotation(mapView: MGLMapView, annotation: MGLAnnotation): MGLAnnotationView? {
            return if (annotation == posAnnotation) flightMarker else null
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM