我在我的网站中使用gmaps
,并希望在google maps
中放置超过数百个标记以显示用户位置。当通过json
数据访问所有这些标记时,它是否会破坏连接或降低网站的速度。由于这些标记数据存储在array
文件中。
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);
我可以同时显示所有这些标记,还是应该限制它们的性能?
答案 0 :(得分:2)
您应该限制标记的数量。但这并不是JSON
的限制。这是网络性能和视觉过载的一个因素。
某些应用程序需要显示大量位置 或标记。在地图上天真地绘制数千个标记可以很快 导致用户体验下降。地图上的标记太多会导致 视觉超载和与地图的缓慢交互。至 克服这种不良表现,信息显示在地图上 需要简化。
Google建议使用以下方法来帮助限制一次显示的标记数量: