0

在 Mapbox Android (9.3.0) 中 - 如何在跟踪所述位置之前“放大”该位置。当前,当缩小时,跟踪会出现,但实际上是这样。 在此处输入图像描述

我有下面的代码确实允许我放大当前位置但是然后禁用跟踪选项(因为我希望我已经移动了相机)。

    mapboxMap.getStyle {
        val customLocationComponentOptions: LocationComponentOptions =
            LocationComponentOptions.builder(context)
                .pulseEnabled(true)
                .build()
        val locationComponent: LocationComponent = mapboxMap.locationComponent
        locationComponent.activateLocationComponent(
            LocationComponentActivationOptions.builder(context, it)
                .locationComponentOptions(customLocationComponentOptions)
                .build()
        )
        locationComponent.isLocationComponentEnabled = true
        locationComponent.cameraMode = CameraMode.TRACKING
        locationComponent.renderMode = RenderMode.NORMAL
        val lastKnownLocation: Location? =
            mapboxMap.locationComponent.lastKnownLocation

        if (lastKnownLocation != null)
            mapboxMap.moveCamera(
                com.mapbox.mapboxsdk.camera.CameraUpdateFactory.newCameraPosition(
                    com.mapbox.mapboxsdk.camera.CameraPosition.Builder().target(
                        com.mapbox.mapboxsdk.geometry.LatLng(
                            lastKnownLocation.latitude,
                            lastKnownLocation.longitude
                        )
                    ).zoom(15.0).build()
                )
            )
    }
4

1 回答 1

0

您是否尝试过将 设置CameraMode为 以外的其他值CameraMode.TRACKING,如此处所述:

https://docs.mapbox.com/android/api/map-sdk/9.3.0/com/mapbox/mapboxsdk/location/modes/CameraMode.html

从你的问题听起来好像这CameraMode.NONE就是你要找的东西。所以你可以locationComponent

locationComponent.cameraMode = CameraMode.NONE

只要您不希望相机跟踪您的位置,就一直保留它。然后稍后将其更改为所需的CameraMode.

于 2020-08-05T12:59:43.763 回答