Mapbox Zoom с включенным LocationComponent (android) - PullRequest
0 голосов
/ 03 августа 2020

В 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()
                )
            )
    }

1 Ответ

0 голосов
/ 05 августа 2020

Пробовали ли вы установить для 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.

...