2016-08-24 7 views
0

私は与えられた(lat、lon)に最も近いルートの位置を取得する方法を知っています。経路の一致位置を取得する方法は?

H.service.RoutingService.calculateRouteを使用して取得できることがわかりました。ウェイポイントはmappedMatchedで、結果オブジェクト内の位置を得ることができます:

result.response.route[0].waypoint[i].mappedPosition 

良い方法はありますか?

答えて

0

私はあなたの場所をジオコード逆にしたときに、(おそらく同じ)何か似たものを得ることができるはずだと思います。一致が十分であれば、応答には 'navigationPosition'があります(これは、この場所にアクセスするためにドライブ/ナビゲートするポイントと考えられます)。

JSAPIから、H.service.GeocodingService#reversGeocodeを使用してJavaScriptからジオコーダAPIにアクセスできます。私はそれを試してみましたが、それはだhttps://developer.here.com/api-explorer/rest/geocoder/reverse-geocode

参照Response.View [0] .Result [0] .Location.NavigationPosition

{ 
 
    "Response": { 
 
    "MetaInfo": { 
 
     ... 
 
    }, 
 
    "View": [ 
 
     { 
 
     ... 
 
     "Result": [ 
 
      { 
 
      ... 
 
      "Location": { 
 
       ... 
 
       "DisplayPosition": { 
 
       "Latitude": 41.88403, 
 
       "Longitude": -87.63881 
 
       }, 
 
       "NavigationPosition": [ 
 
       { 
 
        "Latitude": 41.88425, 
 
        "Longitude": -87.63845 
 
       } 
 
       ], 
 
       ... 
 
      } 
 
      } 
 
     ] 
 
     } 
 
    ] 
 
    } 
 
}

+0

は、ここにあなたが試すことができますRESTの例です同じではありません; 「逆ジオコーディングアプローチ」は「ルーティングアプローチ」より悪いです。私は任意のポジションでベンチマークテストを行いましたが、ほとんどの時間は両者の差が1メートル未満です。しかし、いくつかのケースでは、ルーティング手法に有利な点で最大50メートルの差がありました。提案していただきありがとうございます。 – Teriblus

関連する問題