0

ION/CORDOVAでクロスプラットフォームアプリケーションを開発しています。半径50メートルのランダム座標(緯度、経度)が特定のルートにあるかどうかをどのようにして判断できますか?ランダムな座標(緯度、経度)が特定のルートにあるかどうかを確認します

ルートがあるエリアから別のエリアに定義されているとします。私はその特定のルートにいる私のアプリケーションのユーザーを見つける必要があります。

このタスクを実装する最も良い方法は何ですか? Google MAPS APIまたはOpenStreetMap?

よろしく

Ashikurラーマン

+0

このJavaコードではJavaScriptに変換するのは簡単相対的であるべきで、あなたのユースケースhttps://github.com/graphhopper/graphhopper/blob/master/core/src/に適合させるためにmain/java/com/graphhopper/util/InstructionList.java#L317 – Karussell

+0

JavaコードをIONIC/CORDOVAアプリケーションに直接使用することはできますか? –

+0

私が言ったように、これをJavaScriptに変換する必要があります。このトピックに関連するビットは、graphhopperが実際にJavaで書かれているが、ブラウザではteavmを介して実行できます:https://karussell.wordpress.com/2014/05/04/graphhopper-in-the-browser-teavm-オフラインルーティング - via-openstreetmap-in-javascript /これで、コードオフアプリでオフライン**ルーティングを再開できます。 – Karussell

答えて

0

私はGoogle Maps Geocoding APIを使用します。

例:

var xhr = new XMLHttpRequest(), 
     route = "E261", // route name 
     latlng = "52.3547673,16.8840211"; // lat and lng 

xhr.open("GET", "https://maps.googleapis.com/maps/api/geocode/json?latlng=" + latlng, true); 
xhr.addEventListener("load", function() { 
    var response = JSON.parse(xhr.response).results; 
    response.forEach(function(result) { 
    if (result.types.indexOf("route") !== -1 && result.formatted_address.indexOf(route) !== -1) 
     console.log("route found"); 
    }); 
}); 
xhr.addEventListener("error", function() { 
    // handle error 
}); 
xhr.send(); 
+0

ありがとうございます。 –

+0

しかし、ルート名を知る必要があります。私はOPがAからBまでの計算されたルートまでの距離を知りたがっていると思います。確かに... – Karussell

+0

@karusell、彼はルート変数と 'result.formatted_address.indexOf(route)!== -1'を取り除くことができました。指定された座標がルートに近いかどうかだけチェックします –