0

アプリケーションでマップを表示するために mapbox を使用しています。ユーザーの移動に合わせてユーザーの位置を表示し、その位置を通りに保つために、マップ ボックスのマップ マッチング API を使用しようとしています。しかし、API はマップ マッチング API のテスト ポイントで動作しますが、実際の緯度経度ポイントを使用するとエラーがスローされます。 https://www.mapbox.com/api-documentation/#retrieve-a-match を使用してリクエストを送信します

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 のテスト入力の記述がある場合、結果 This is trace.json with 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]
    ]
}
}

リクエストの何が問題なのかわかりません。

4

1 に答える 1

1

受け取ったエラー コードが問題の鍵です。"coordinates"データは GeoJson の標準である必要が[longitude, latitude]あります

エラー: {"メッセージ":"各座標は浮動小数点数の範囲 [経度、緯度] を持つ配列でなければなりません","コード":"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]
  ]
  }
}

このgistと、他のツールを使用して元の GeoJson を検証する方法については、こちらの画像を参照してください。 ここに画像の説明を入力

于 2016-06-27T23:29:13.363 に答える