2016-08-19 3 views
-1

私のウェブサイトにはgmapsが使用されており、google mapsには百を超えるマーカーを配置してユーザーの位置を表示します。 jsonデータでこれらのマーカーにすべてアクセスすると、接続を切断したり、ウェブサイトの速度を遅くすることはできますか?これらのマーカーデータはarrayファイルに保存されています。GMaps - 100個以上のマーカーを配置する

var values = [ 
    {"lat" : "51.508742", "ln" : "-0.120850", "name" : "a new user" }, 
    {"lat" : "51.508742", "ln" : "-0.320850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.420850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.520850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.620850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.720850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.820850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-0.920850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-1.320850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-2.320850" , "name" : "my corporation"}, 
    {"lat" : "51.508742", "ln" : "-3.320850" , "name" : "my corporation"} 
] 

そして、私は、それらをアクセスしています:

var myCenter=new google.maps.LatLng(values[0]["lat"],values[0]['ln']); 



function initialize() 
{ 
    var marker; 
    function callMe(v,i){ 
    marker=new google.maps.Marker({ 
    position: new google.maps.LatLng(values[i]["lat"],values[i]['ln']) , 
    }); 
    marker.setMap(map); 
    } 
    var mapProp = { 
    center:myCenter, 
    zoom:5, 
    mapTypeId:google.maps.MapTypeId.ROADMAP 
    }; 

    var map=new google.maps.Map(document.getElementById("googleMap"),mapProp); 

    values.forEach(callMe); 


} 

google.maps.event.addDomListener(window, 'load', initialize); 

は、私は同時に、これらのマーカーのすべてを表示することができますか私は、パフォーマンスのためにそれらを制限する必要がありますか?

答えて

1

マーカーの数を制限する必要があります。しかし、これはJSONの制限ではありません。これは、Webパフォーマンスとビジュアルオーバーロードの要因です。

From Google

一部のアプリケーションは、場所 またはマーカーの多数を表示するために必要とされます。何千ものマーカーをマップ上に無作為にプロットすると、すぐに はユーザーエクスペリエンスの低下につながります。地図上のマーカーが多すぎると、視覚的過負荷と地図とのやりとりが鈍っています( )。 がこのようなパフォーマンスを克服するには、マップ に表示される情報を簡略化する必要があります。

  1. Grid-based Clustering
  2. Distance-based Clustering
  3. Viewport Marker Management
  4. Fusion Tables
  5. MarkerClusterer

Googleが一度に表示されるマーカーの数を制限して支援するために、以下の方法を提案しています

  • MarkerManager
  • +0

    この回答は非常に役に立ちます。ありがとうございました –

    関連する問題