Javascript Gmap3多个标记加载缓慢。如何解决?
我正在使用Gmap3将谷歌地图加载到我的网站上。在这张地图上有100多个标记。问题是地图加载速度非常慢,加载整个地图需要一分钟以上的时间 如何加快带有大量标记的地图的加载速度 我使用的是最新版本的Gmap3(v6)和jQuery 2.1 我尝试将缩放级别更改为更近的视图,但没有成功。我还移除了绿色标记,但这也没有加快速度 我想知道将方法从地址改为纬度和经度是否有助于加快速度,但如果这样做几乎没有好处或根本没有好处,那么这将耗费大量时间 从我使用Firebug看到的情况来看,脚本似乎正在请求每个标记,获取所有标记,然后显示标记。每个标记平均100毫秒(大约)需要一分钟 有没有办法加快速度?可能一次请求多个标记 编辑 在Gmap3的网站上研究这个问题时,我遇到了集群。我实现了下载文件中提供的示例,但它的加载速度仍然非常慢Javascript Gmap3多个标记加载缓慢。如何解决?,javascript,jquery,google-maps,google-maps-api-3,jquery-gmap3,Javascript,Jquery,Google Maps,Google Maps Api 3,Jquery Gmap3,我正在使用Gmap3将谷歌地图加载到我的网站上。在这张地图上有100多个标记。问题是地图加载速度非常慢,加载整个地图需要一分钟以上的时间 如何加快带有大量标记的地图的加载速度 我使用的是最新版本的Gmap3(v6)和jQuery 2.1 我尝试将缩放级别更改为更近的视图,但没有成功。我还移除了绿色标记,但这也没有加快速度 我想知道将方法从地址改为纬度和经度是否有助于加快速度,但如果这样做几乎没有好处或根本没有好处,那么这将耗费大量时间 从我使用Firebug看到的情况来看,脚本似乎正在请求每个标
var RetailList = [
{address:'5555 Brighton Blvd., Denver, CO 80216', data:'<a href="#id1" class="fancybox rls">Store Location 1</a>'},
//Additional locations using same markup as above.
];
$(function() {
$("#rec-map").gmap3({
map:{
options:{
center:[39.739, -104.9847],
zoom: 9
}
},
marker: {
values: RetailList,
cluster:{
radius:100,
0: {
content: "<div class='cluster cluster-1'>CLUSTER_COUNT</div>",
width: 53,
height: 52
},
20: {
content: "<div class='cluster cluster-2'>CLUSTER_COUNT</div>",
width: 56,
height: 55
},
50: {
content: "<div class='cluster cluster-3'>CLUSTER_COUNT</div>",
width: 66,
height: 65
},
events: {
click: function(cluster) {
var map = $(this).gmap3("get");
map.setCenter(cluster.main.getPosition());
map.setZoom(map.getZoom() + 1);
}
}
},
options: {
icon: new google.maps.MarkerImage("http://maps.gstatic.com/mapfiles/icon_green.png"),
draggable: false
},
events:{
mouseover: function(marker, event, context){
var map = $(this).gmap3("get"),
infowindow = $(this).gmap3({get:{name:"infowindow"}});
if (infowindow){
infowindow.open(map, marker);
infowindow.setContent(context.data);
} else {
$(this).gmap3({
infowindow:{
anchor:marker,
options:{content: context.data}
}
});
}
} /* ,
mouseout: function(){
var infowindow = $(this).gmap3({get:{name:"infowindow"}});
if (infowindow){
infowindow.close();
}
} */
}
}
});
});
var零售列表=[
{地址:美国科罗拉多州丹佛市布莱顿大道5555号,邮编:80216',数据:'},
//使用与上述相同标记的其他位置。
];
$(函数(){
$(“#记录地图”).gmap3({
地图:{
选项:{
中间:[39.739,-104.9847],
缩放:9
}
},
标记:{
价值观:零售清单,
群集:{
半径:100,
0: {
内容:“群集计数”,
宽度:53,
身高:52
},
20: {
内容:“群集计数”,
宽度:56,
身高:55
},
50: {
内容:“群集计数”,
宽度:66,
身高:65
},
活动:{
单击:功能(群集){
var map=$(this.gmap3(“get”);
map.setCenter(cluster.main.getPosition());
map.setZoom(map.getZoom()+1);
}
}
},
选项:{
图标:新建google.maps.MarkerImage(“http://maps.gstatic.com/mapfiles/icon_green.png"),
可拖动:错误
},
活动:{
mouseover:函数(标记、事件、上下文){
var map=$(this).gmap3(“get”),
infowindow=$(this.gmap3({get:{name:{infowindow}});
如果(信息窗口){
信息窗口。打开(地图、标记);
infowindow.setContent(context.data);
}否则{
$(本文件)。gmap3({
信息窗口:{
主持人:马克,
选项:{content:context.data}
}
});
}
} /* ,
mouseout:function(){
var infowindow=$(this.gmap3({get:{name:{infowindow}});
如果(信息窗口){
infowindow.close();
}
} */
}
}
});
});
事实证明,从使用地址改为使用经度/纬度是有效的。我还将它与Gmap3的应用程序结合使用,现在它工作得又快又顺利
上述代码有效,但更改此行:
这:
{地址:美国科罗拉多州丹佛市布莱顿大道5555号,邮编80216',数据:'',
//使用与上述相同标记的其他位置。
成为:
{lat:39.777648,lng:-104.969998, data:'<a href="#id1" class="fancybox rls">Store Location 1</a>'},
//Additional locations using same markup as above.
{lat:39.777648,液化天然气:-104.969998,数据:'},
//使用与上述相同标记的其他位置。
我相信这样做的原因是使用脚本必须查找的地址并返回正确的位置。使用经度和纬度只有一个位置,它可以快速绘制位置
{lat:39.777648,lng:-104.969998, data:'<a href="#id1" class="fancybox rls">Store Location 1</a>'},
//Additional locations using same markup as above.