5

Google マップ API を使用して、会社の車両が一定期間に各州を移動するマイル数を計算しています。期間中の旅行について、ユーザーは地図上にルートを作成し、プログラムは「メリーランド: 100 マイル、バージニア: 500 マイル」などの出力を生成できるはずです。

DirectionsServiceリクエストを送信して配列を反復処理することでそれを実行できると確信していますresponse.routes[i].legs[i].steps[i].pathが、残念ながらこれにはGeocoder何千ものLatLngs でリクエストを送信する必要があり、すぐに割り当てを超えてしまいます。これについてもっと良い方法はありますか?pathルートが州の境界線を横切るタイミングを検出して別のルートに分割する必要があるだけですが、配列を反復処理せずにそれを行う方法がわかりません。

4

3 に答える 3

2

パス配列に 1000 個の要素があり、(反復ではなく) 二分探索を行っている場合、LatLng を 12 回呼び出すだけで、パスが国境をまたぐ場所を特定できます。

割り当てを超えた場合、どのようなフィードバックが得られますか? 例外が返された場合は、クォータのプッシュバックを受け取ったときにのみ、常に 3.5 秒の待機を行うことができます。

于 2013-07-19T21:40:05.017 に答える
1

パネルのルート案内テキストを見ると、州の境界をまたぐステップに「Entering」というテキストが表示されているように見えます。
http://www.geocodezip.com/v3_example_geo2.asp?addr1=New%20York,NY&addr2=ワシントン,%20DC&geocode=1&geocode=2

  • ニュージャージー州に入る
  • デラウェア州に入る
  • メリーランド州に入る
  • コロンビア特別区に入る

(これは文書化されていないため、動作しなくなる可能性があります)

また、方向ポリラインと一連の州ポリゴンとの交点を見つけることもできます。

于 2013-07-15T18:12:10.683 に答える