我是靠谱客的博主 无辜手机,最近开发中收集的这篇文章主要介绍百度地图大量点卡顿问题解决办法。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

$.each(obj,function(index,content){
//								jingches[index]=markerincoWindow(content.longitude,content.latitude,'resources/images/trafficMonitoring/policeCar.png',48,48,"设备编号:"+content.gpssn+"</br>设备类型:"+content.dwsblx+"</br>车号:"+content.carlicense+"</br>管理单位:"+content.departmentname+"</br>更新时间:"+content.rkrj+"","警车");
//						});
//						jingchemarkers = new BMapLib.MarkerClusterer(BmapUtils.getMap(), {markers:jingches});
//						jingchemarkers.setGridSize(100);

开始使用的是聚合点,但是上到真实环境之后发现在大量点的情况下会出现卡顿的情况,通过查找资料 最后使用百度的开源库 mapv 来解决问题,下面是解决在mapv中给点增加信息的代码。

				var obj = data;
//						$.each(obj,function(index,content){
//								jingches[index]=markerincoWindow(content.longitude,content.latitude,'resources/images/trafficMonitoring/policeCar.png',48,48,"设备编号:"+content.gpssn+"</br>设备类型:"+content.dwsblx+"</br>车号:"+content.carlicense+"</br>管理单位:"+content.departmentname+"</br>更新时间:"+content.rkrj+"","警车");
//						});
//						jingchemarkers = new BMapLib.MarkerClusterer(BmapUtils.getMap(), {markers:jingches});
//						jingchemarkers.setGridSize(100);  
						
						 var data = [];
					        var img = new Image();
					        img.src = 'resources/images/trafficMonitoring/policeCar.png';
					        img.onload = function() {
					        	$.each(obj,function(index,content){
					                data.push({
					                    geometry: {
					                        type: 'Point',
					                        coordinates: [content.longitude,content.latitude],
					                        content:"设备编号:"+content.gpssn+"</br>设备类型:"+content.dwsblx+"</br>警员姓名:"+content.policename+"</br>警号:"+content.policesn+"</br>管理单位:"+content.departmentname+"</br>更新时间:"+content.rkrj+"";
					                    },
					                    icon: img
					                });
					            })
					            var dataSet = new mapv.DataSet(data);
					            var options = {
					                draw: 'icon',
					                methods: { // 一些事件回调函数
					                    click: function (item) { // 点击事件,返回对应点击元素的对象值
					                        console.log(item);
					                    },
					                    mousemove: function(item) { // 鼠标移动事件,对应鼠标经过的元素对象值
//					                        var opts = {
					                    	if(item!=null){
					                    		var pt = new BMap.Point(item.coordinates[0],item.coordinates[1])
						            			var infoWindow = new BMap.Label(pathname,opts);  // 创建信息窗口对象 
					                    		BmapUtils.getMap().addOverlay(infoWindow,pt); //开启信息窗口
					                    	}
						        			
					                    }
					                }
					            }
					            jingcheLayer = new mapv.baiduMapLayer(BmapUtils.getMap(), dataSet, options);
					        }
		

最后

以上就是无辜手机为你收集整理的百度地图大量点卡顿问题解决办法。的全部内容,希望文章能够帮你解决百度地图大量点卡顿问题解决办法。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部