2017-03-08 21 views
8

私はGoogleマップのJavaScript APIに新たなんだと私は同様にマップヒートマップドキュメントの例に、Googleマップ上のヒートマップレイヤを適用しています:私はたくさんのをロードしていますGoogle Maps JavaScript APIヒートマップレイヤー - 地図上に表示できるデータポイントの制限?

https://developers.google.com/maps/documentation/javascript/examples/layer-heatmap

ヒートマップのデータポイントはしか表示されません。

データに問題はありません。データセットを小さな塊に切断すると、マップをロードするたびにヒートマップが別の場所に表示されます。

は、しかし、私は一日あたり2,500リクエストの制限があること、使用のドキュメント(https://developers.google.com/maps/documentation/javascript/usage)で見ることができる、と私はつの要求の定義は、このシナリオにあるかわかりません。

それは時にマップがロードinitMap()と、全体HeatmapLayerが適用されていることですが1つの要求と考えられていますか?

それともそれは私が4000個のデータポイントでヒートマップを作成していたときに、ということであるが、各データポイントについてnew google.maps.LatLng()への各呼び出しは4,000別々のリクエストと考えられていますか?

+0

ヒートマップ層は、ブラウザで計算され、APIの制限とは何の関係もありません。 –

+0

_地図がinitMap()で読み込まれると、適用されているHeatmapLayer全体が1つのリクエストとみなされます。これは本当です。以下の答えは使用の詳細を表示します –

+0

地図の読み込み要求のみが要求としてカウントされます。 '新しいgoogle.maps.LatLng()はプロットできる点の数に制限がありません。間違いなくリクエストとしてカウントされます。ジオコーディング、オートコンプリート、指示などのリクエストはリクエストとしてカウントされます。あなたはそれらのいずれかを使用している可能性はありますか?ここでの使用方法についてもう少し詳しく説明しています。https://developers.google.com/maps/premium/usage-limitsでは、例と一緒にjsfiddleなどを設定できますか? –

答えて

2

ドキュメントの例を以下は、私がいない問題で、ヒートマップにプロットするために10,000ポイントを作成する例を作成しました。したがって、レート制限は一切ありません。遊びには何か他のものがなければならない。この例では、APIキーもないので、無料のプランもあります。

Ten thousand heatmap point demo

<div id="map"></div> 
<script> 

     var map, heatmap; 

    function initMap() { 
    map = new google.maps.Map(document.getElementById('map'), { 
     zoom: 2, 
     center: {lat: 37.775, lng: -122.434}, 
    }); 

    heatmap = new google.maps.visualization.HeatmapLayer({ 
     data: getPoints(), 
     map: map 
    }); 
    } 

    function getPoints() { 

    var lotsOfMarkers = []; 

    for(var i = 1; i <= 10000; i++) { 

     var random = new google.maps.LatLng((Math.random()*(85*2)-85), (Math.random()*(180*2)-180)); 

     lotsOfMarkers.push(random); 
    } 

    return lotsOfMarkers; 
    } 
</script> 
<script async defer src="https://maps.googleapis.com/maps/api/js?&libraries=visualization&callback=initMap"> 
</script> 
+0

数字を試してみることもできます。私は30kポイントを試しましたが、小さなエリアに閉じ込められました。問題ありません。 –

+0

努力のおかげでヘイ・ポール!私はこれを答えとして受け入れました。私のコードはあなたのものと似ていましたが、私にとってはうまくいきませんでしたが、私の問題は最終的にマップに 'maxIntensity'プロパティを追加し、それを低い数字(1または2)に設定することで解決しました。 – AnonyMouse

+0

@AnonyMouseあなたがそれをソートしてくれてうれしいです。それは、あなたのポイントが常にプロットされていることを意味しますが、強度が大きすぎると違いは見えませんでしたか? –

4

あなたの開発者コンソールを確認すると、Google Maps JavaScript APIには次のクォータがあります。

enter image description here

それはあなたが一日とユーザーあたり25,000回のみ、毎秒1つの要求を行うことができ、あなたのマップをロードできることを意味します。無制限とは、地図が同時に読み込まれることを意味します。

したがって、thisのようなAPIキーを呼び出すたびに、1日あたり1回のロードとしてカウントされます。

注:毎日のクォータが深夜太平洋標準時でリセット(PT)

関連する問題