2016-05-05 15 views
3

3km以内のすべての最寄りのホテルを見つけて、所在地の距離と予想時間を表示する必要がある状況があります。2点間のETAを計算する方法

3km辺りのすべての最寄りのホテルをフェッチするコード。

Hotels.geoNear({ 
    type: "Point", 
    coordinates: [userLat, userLng] 
}, { 
    spherical: true, 
    maxDistance: 3000, 
    distanceMultiplier: 0.001 
}).then(function(hotels) { 
    console.log(hotels); 
}); 

ここではすべてのオブジェクトの距離を取得できますが、各場所の推定時間を取得する方法はわかりません。

どのような提案どのように各場所の推定時間を見つけることができますか?

答えて

0

可能な解決策は、各ロケーションの履歴データを使用することです。たとえば、データベースにuser1がlocation1からlocation2に移動するのにかかった時間とuser2が同じルートを使用するときに、そのデータに基づいてETAを計算します。あなたは過去のデータへのアクセス権を持っていない場合

しかし、その後、例えば、いくつかの一定の速度値を使用します。

  • 平均を。都市内の車でのスピード35km/h
  • 平均。徒歩での速度5km/h
  • 平均。都市内の自転車でのスピード20km/h
  • 平均。これらの値を知ることは、公共交通機関毎時30キロ

とスピード:

eta_in_minutes = (distance_in_km * 60)/constant_estimated_speed_in_km_per_h

は、これらは私の推定であることに注意してくださいだけで、これらの値と遊ぶので、彼らは、非常に正確ではないかもしれませんあなたのニーズに最も適したものを見つけることができます。

+0

はい履歴データを取得することはできません。これらの定数は、おおよそのETAを見つけるのに役立ちます。 これをGoogle apiと統合する他の方法はありますか?実際のETAをGoogleで地図上に表示することができます。 – zulekha

+0

はい、ここにその解決策があります:http://stackoverflow.com/questions/1331309/extracting-trip-eta-from-google-maps-api-possible – sc3w

+0

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

関連する問題