Mapbox Directions API response.body() всегда возвращает значение null. Я проверил свой токен доступа и использую тот же токен доступа, который использовал в своем старом проекте Mapbox 9 (который все еще работает и правильно отображает линию маршрута), но мой вызов API Directions, похоже, не работает в Mapbox 11.< /p>
Я предполагаю, что неправильно использую обновленный API, поскольку многое изменилось в доступных методах API Directions, используемых в Mapbox 11. Например, так выглядела линия маршрута. запрошено в Mapbox 9: https://docs.mapbox.com/android/java/guides/directions/
Но методы .origin и .destination были заменены на .routeOptions в Mapbox 11, где мне нужно создать объект RouteOptions и передать источник и пункт назначения методу .coordinatesList.
Вышеуказанные изменения — это лишь некоторые из изменений, которые я внес в свой старый код, поскольку я также перенес его на использование Kotlin, поскольку он в основном используется в Mapbox 11.
Я получил свой код из примера ЛОКАТОРА МАГАЗИНА Mapbox, который находится на Java и Mapbox 9, и просто изменил его для использования Kotlin и Mapbox 11, а также использовал последнюю стандартную 3D-карту, но, как уже упоминалось, мне не удалось заставить эти части работать как запрос Mapbox Directions API всегда возвращает значение null:
private fun getInformationFromDirectionsApi(
destinationPoint: Point,
fromMarkerClick: Boolean, @Nullable listIndex: Int?
) {
val destinationMarker = Point.fromLngLat(destinationPoint.longitude(), destinationPoint.latitude())
// Initialize the directionsApiClient object for eventually drawing a navigation route on the map
// TODO: Replace mockOriginLocation with getDeviceLocation
val mockOriginLocation = Point.fromLngLat(120.59270718466132, 16.418361457286892)
// USED THE NEW ROUTEOPTIONS OBJECT
val routeOptions: RouteOptions =
RouteOptions.builder().applyDefaultNavigationOptions()
.profile(DirectionsCriteria.PROFILE_WALKING)
.coordinatesList(listOf(mockOriginLocation, destinationMarker)).build()
// REQUEST THE ROUTE
val directionsApiClient: MapboxDirections =
MapboxDirections.builder().routeOptions(routeOptions).accessToken(R.string.mapbox_access_token.toString())
.build()
directionsApiClient.enqueueCall(object : Callback {
override fun onResponse(call: Call, response: Response) {
// Check that the response isn't null and that the response has a route
// THIS IS ALWAYS TRUE AS RESPONSE BODY IS ALWAYS NULL
if (response.body() == null) {
// THIS ALWAYS GETS LOGGED
Log.e("MapFragment", "No routes found, make sure you set the right user and access token.")
} else if (response.body()!!.routes().size < 1) {
Log.e("MapFragment", "No routes found")
} else {
...
}
}
...
})
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... er-migrati
Тело ответа API Mapbox Directions всегда возвращает значение NULL в Android после перехода с Mapbox SDK 9 на 11. ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение