首页 新闻 会员 周边 捐助

百度地图多个标注 页面加载的时候 非常卡

0
[待解决问题]
<script type="text/javascript">
 
//创建和初始化地图函数:

var infoWindow;

var map = new BMap.Map("dituContent");//在地图容器中创建一个地图


<s:iterator value="tyList" var="ty" >

var point = new BMap.Point(<s:property value="#ty.dtjd" />,<s:property value="#ty.dtwd" />);//定义一个中心点坐标

map.centerAndZoom(point, 13);//设定地图的中心点和坐标并将地图显示在地图容器中

var marker = new BMap.Marker(point); // 创建标注

map.addOverlay(marker); // 将标注添加到地图中

var opts = {

  width : 250,     // 信息窗口宽度

  height: 100,     // 信息窗口高度

  title : "个人基本信息"  // 信息窗口标题

}

marker.addEventListener("click", function () { 

var sContent =

"<h4 style='margin:0 0 5px 0;padding:0.2em 0'>个人基本信息</h4>" + 

"<p style='margin:0;line-height:1.5;font-size:13px;text-indent:2em'>姓名 : <s:property value="#ty.xm" />,</br>工作单位 : <s:property value="#ty.gzdw" /><br/>家庭住址 : <s:property value="#ty.jtzz" /></p>" + 

"</div>";

var infoWindow = new BMap.InfoWindow(sContent); 

this.openInfoWindow(infoWindow);});

 

</s:iterator>

 

 

initMap();//创建和初始化地图

 

function initMap() {

setMapEvent();//设置地图事件

addMapControl();//向地图添加控件

}

 

//地图事件设置函数:

function setMapEvent() {

map.enableDragging();//启用地图拖拽事件

map.enableScrollWheelZoom();//启用地图滚轮放大缩小

map.disableDoubleClickZoom();//禁用鼠标双击放大

map.disableKeyboard();//禁用键盘上下左右键移动地图,默认禁用(可不写)

}

 

//地图控件添加函数:

function addMapControl() {

//向地图中添加缩放控件

var ctrl_nav = new BMap.NavigationControl( {

anchor : BMAP_ANCHOR_TOP_LEFT,

type : BMAP_NAVIGATION_CONTROL_LARGE

});

map.addControl(ctrl_nav);

//向地图中添加缩略图控件

var ctrl_ove = new BMap.OverviewMapControl( {

anchor : BMAP_ANCHOR_BOTTOM_RIGHT,

isOpen : 1

});

map.addControl(ctrl_ove);

//向地图中添加比例尺控件

var ctrl_sca = new BMap.ScaleControl( {

anchor : BMAP_ANCHOR_BOTTOM_LEFT

});

map.addControl(ctrl_sca);

}

</script>

经纬度是从我自己的数据库中读取的...现在页面有上很多个点.好几个千个点,导致页面加载很卡很慢 求解决办法...

 

百度地图多个标注点 卡

小0的主页 小0 | 菜鸟二级 | 园豆:202
提问于:2012-05-21 13:49
< >
分享
所有回答(2)
0

几千个点,自然会卡一点的。其次跟网速也有关系的,再就是你写的javascript有关。你也只能控制javascript了。所以建议你优化一下javascript,例如:

var infoWindow;
var map = new BMap.Map("dituContent");//在地图容器中创建一个地图
可以设置成局部变量。尽量少搞全局的。
悟行 | 园豆:12559 (专家六级) | 2012-05-21 14:44
0

300-400都卡啦!!

1、只显示视图范围内的坐标

2、密集的坐标只显示1个 (显示1000个和显示100效果没有什么不同的)

小龙3 | 园豆:4 (初学一级) | 2012-08-28 10:17

能给点传送门么

支持(0) 反对(0) 二十二号同学 | 园豆:790 (小虾三级) | 2014-03-25 17:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册