Mapbox пользовательское расположение аннотации изображения и положения - PullRequest
0 голосов
/ 26 мая 2018

Я хочу иметь возможность отображать пользовательское изображение для местоположения пользователя на карте Mapbox в iOS, и , чтобы иметь возможность устанавливать текущее местоположение пользователя из внутреннего источника, а не с помощью внутреннего GPSsource.

По-видимому, встроенная функция определения местоположения пользователя может находить местоположение только из внутреннего механизма определения местоположения Mapbox.Я добавил пользовательскую аннотацию на карту и могу обновить ее положение, когда получу новое определение местоположения, но движение прерывистое (я могу перемещать карту с помощью анимации камеры, но не аннотации.)

Есть ли способ в iOS Mapbox SDK анимировать изменение местоположения аннотации?

1 Ответ

0 голосов
/ 27 мая 2018

Так вот что я придумал.В 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
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...