2017-01-02 4 views
-1

Google Maps Directions APIを使用して、現在のユーザーの場所の店舗の場所/距離を計算します。すべて正常に動作しますが、店舗が10店舗以上ある場合、APIは停止します(Google Maps Directions APIの制限)。Google Maps Directionsのサービスの上限は10かかりますか?

私はHTML5ジオロケーションと、現在のユーザーの場所を取得:

get_user_location = function(){  
    if(navigator.geolocation){ 
     navigator.geolocation.getCurrentPosition(add_stores_to_array); 
    } 
}; 

を私はGoogleマップの行き方サービスとそれを計算する:私は現在のGoogleの制限を回避することができますどのように

var directionsService = new google.maps.DirectionsService(); 

var request = { 
    origin: user, 
    destination: store, 
    travelMode: google.maps.DirectionsTravelMode.DRIVING 
}; 

directionsService.route(request, function(response, status) { 
    if (status == google.maps.DirectionsStatus.OK) { 
     var response = Math.ceil(response.routes[0].legs[0].distance.value/1000); 

ルートサービスの地図ですか?

+2

出発地や目的地を含む最大25駅のプレミアムアクセスを購入できます。また、TSPアルゴリズムを使用することもできます。これは、理論的には無制限の停止を可能にします。私は個人的に100以上のストップでそれをテストし、まともな仕事をしています。 –

+0

しかし、私は一日に2500回のリクエストができますか?私は30店舗しかありませんか? –

+0

何をしようとしていますか?ある場所に最も近い店を探すことを試みていますか?または、その場所からすべての店舗を訪問するルートですか? – geocodezip

答えて

1

JavaScript APIを使用する場合は、唯一の選択肢で、購入の上限をpremium planに増やしてください。また、HTTP Webサービスを使用して、無料で25ウェイポイント(出発地と目的地を含む)を取得することもできます。リクエストにはキーとシークレットが添付され、サーバー側で処理されなければならないことに注意してください。

Google Maps APIの2016年6月22日のアップデートで現在必要となっている独自のキーを使用します。キーを使用するには、任意の懸念を持っている場合は、キーそれが唯一のホワイトリストドメインまたはHTTPの参照元で作業することによって保護することができ、プレミアムキーに関してはクエリパラメータ

<script src="https://maps.googleapis.com/maps/api/js?key={API_KEY}"></script> 

としてそれを渡します。これらの設定は、キー制限セクションのGoogle Developers Consoleから管理できます。常にこれを考慮することを忘れないでください - それは非常に重要です。

key resctriction

また、JavaScriptのAPIを使用して8リミットドメイン内の別のオプションがあります。どの旅行セールスマン問題(TSP)アルゴリズム - Google Maps TSP Solver on GitHubを使用しています。私は100ウェイポイントでこれを使用していますが、まともな仕事をしています。

関連する問題