MapBox карта соответствует ошибке API
Я использую mapbox для отображения карт в моем приложении. Я показываю местоположение пользователя по мере его перемещения и для того, чтобы сохранить местоположение на улице, я пытаюсь использовать api для сопоставления карт. Но API работает с контрольными точками в API для сопоставления карт, но выдает ошибку, когда я использую свои действительные точки с длинной широтой. https://www.mapbox.com/api-documentation/ Я отправляю запрос, используя
curl -X POST \
--header "Content-Type:application/json"-d @trace.json \
"https://api.mapbox.com/matching/v4/mapbox.driving.json?access_token=<your token here>"
Когда мой файл trace.json содержит тестовые входные данные, упоминаемые в api, я получаю результат Это trace.json с lat long из api и возвращает результат.
{
"type": "Feature",
"properties": {
"coordTimes": [
"2015-04-21T06:00:00Z",
"2015-04-21T06:00:05Z"
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[ 13.418946862220764, 52.50055852688439 ],
[ 13.419011235237122, 52.50113000479732 ]
]
}
}
Но тот же trace.json с моей лат-длинной точкой выдает следующую ошибку.
Error : {"message":"each coordinate must be array with float in-bounds [longitude, latitude]","code":"InvalidInput"}
{
"type": "Feature",
"properties": {
"coordTimes": [
"2015-04-21T06:00:00Z",
"2015-04-21T06:00:05Z"
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[47.586479, -122.229704],
[47.578238, -122.209869]
]
}
}
не могу понять, что не так с запросом.
1 ответ
Код ошибки, который вы получили, является ключом к проблеме. Ваш "coordinates"
данные должны быть в [longitude, latitude]
который является стандартом для GeoJson.
Ошибка: {"message":"каждая координата должна быть массивом с плавающими границами [долгота, широта]", "code": "InvalidInput"}
Чтобы исправить, вам нужно обменяться данными для "coordinates"
, В качестве еще одного теста вы можете использовать GeoJson.io для проверки вашего traces.json
и для проверки правильности ввода данных в инструмент MapMatch.
{
"type": "Feature",
"properties": {
"coordTimes": [
"2015-04-21T06:00:00Z",
"2015-04-21T06:00:05Z"
]
},
"geometry": {
"type": "LineString",
"coordinates": [
[-122.229704, 47.586479],
[-122.209869, 47.578238]
]
}
}
Посмотрите эту суть и изображение здесь, чтобы узнать, как вы можете использовать другие инструменты для проверки вашего оригинального GeoJson.