`

百度地图画点、线、面函数封装

阅读更多
$(document).ready(function(){
	$("#dwtr").hide();
	//百度地图初始化
	initMap();
	//加载大类下拉列表
	doBigTypeList();
	//加载到地图上
	loadAllCompDetail("");
	var lxid=$("#lxid").val();
	if(lxid!=""&&lxid!=null){
		$("#dwtr").show();
		getComponentInfo(lxid);
		$("#title").html('<font size="4" color="#0072bc"><b>修改页面</b></font>');
	}else{
		$("#colortr").hide();
		$("#title").html('<font size="4" color="#0072bc"><b>增加页面</b></font>');
	}
	//加载热区
	loadGridHotArea();
	//按钮样式
	showImsg("dwbut,savebut,resetbut");
});

var bmap="";
//绘图标识
var drawflag=0;
var pointarr=[];
var pointstr="";
var polygon="";
var linepointarr=[];
var linepointstr="";
var polyline="";
var marker="";
var clng="";//中心点经度
var clat="";//中心点纬度
var a="";//经度最大值
var b="";//纬度最大值
var c="";//经度最小值
var d="";//纬度最小值
//数组
var compmarkerarr1=[];
var compmarkerarr2=[];
var compmarkerarr3=[];
var comppolyline=[];
var comppolygon=[];
//缩放级别数组
var zoom2darr=[14,15,16,17,18,19];
var zoom3darr=[8,9,10,11,12,13];
var vertflag=0;
//区域数组
var gridareaarr=[];
var gridlabel=[];

function getComponentInfo(lxid){
	$.ajax({
	   	  async:false,
          type: "POST",               
          dataType: "json",               
          url: ctxPath+'/componentDetailAction.do?dispatch=getComponentInfoByid',
          data:"lxid="+lxid,   
          success: function(data) {
          		var assemblytype=data.assemblytype;
          		$("#assemblyname").val(data.assemblyname);
          		$("#bigtype").val(data.bigtype);
          		doSmallTypeList();
          		$("#smalltype").val(data.smalltype);
          		$("#assemblytype").val(assemblytype);
          		$("#tcolor").val(data.tcolor);
	        	$("#tcolor").css("background-color",data.tcolor);
	        	if(data.tcolor==""||data.tcolor==null){
	        		$("#tcolor").val('#39b778');
	        		$("#tcolor").css("background-color",'#39b778');
	        	}
          		if(assemblytype=="1"){
          			$("#colortr").hide();
          			$("#pointlng1").val(data.pointlng);
	        		$("#pointlat1").val(data.pointlat);
          		}else if(assemblytype=="2"){
		        	$("#pointlng2").val(data.pointlng);
		        	$("#pointlat2").val(data.pointlat);
		        	$("#tpoints2").val(data.tpoints);
          		}else if(assemblytype=="3"){
          			$("#pointlng3").val(data.pointlng);
		        	$("#pointlat3").val(data.pointlat);
		        	$("#tpoints3").val(data.tpoints);
          		}
          }
    });
}

//加载大类下拉列表
function doBigTypeList(){
	$.ajax({
		   async:false,
           type: "POST",               
           dataType: "json",               
           url: ctxPath+'/componentAction.do?dispatch=doCompBTSelectList',   
           success: function(data) {
           	var obj=document.getElementById('bigtype'); 
        	 	obj.options.add(new Option("--请选择--","")); 
        	 	for(var i=0;i<data.length;i++){
        	 		obj.options.add(new Option(data[i].supername,data[i].superid)); 	
        	 	}
           }
       });  
} 

//根据大类id加载小类下拉列表
function doSmallTypeList(){
	$("#smalltype").html("");
	var superid=$("#bigtype").val();
	if(superid!=""&&superid!=null){
		$.ajax({
		   async:false,
           type: "POST",               
           dataType: "json",               
           url: ctxPath+'/componentAction.do?dispatch=doCompSTSelectList', 
           data:"superid="+superid, 
           success: function(data) {
           		var obj=document.getElementById('smalltype'); 
        	 	obj.options.add(new Option("--请选择--","")); 
        	 	for(var i=0;i<data.length;i++){
        	 		obj.options.add(new Option(data[i].smallname,data[i].smallid)); 	
        	 	}
           }
       });  
	}else{
		var obj=document.getElementById('smalltype'); 
        obj.options.add(new Option("--请选择--","")); 
	}
	
}

//点击类型下拉框
function onAssemblyTypeChange(){
	var assemblytype=$("#assemblytype").val();
	if(assemblytype=="2"||assemblytype=="3"){
		$("#colortr").show();
	}else{
		$("#colortr").hide();
	}
} 

//添加监听
function addMapListener(){
	var assemblytype=$("#assemblytype").val();
	if(assemblytype==""){
		alert("请选择类型!");
	}
	drawflag="1";
	bmap.addEventListener("click", function(e){
		addLabelArea(e);
	});
}

//删除监听
function removeMapListener(){
	drawflag="0";
	bmap.removeEventListener("click", function(e){
		addLabelArea(e);
	});
}

function addLabelArea(e){
	var curmaptype=bmap.getMapType();
	//坐标转换类
	var ctool=new CoorTools(bmap); 
	var assemblytype=$("#assemblytype").val();
	if(assemblytype=="1"){//点
		if(drawflag=="1"){
			if(marker!=""){
				bmap.removeOverlay(marker);
			}
			//清空面标注信息
			if(polygon!=""){
				bmap.removeOverlay(polygon);
			}
			pointarr=[];              
			$("#tpoints3").val("");
			//清空线标注信息
			if(polyline!=""){
				bmap.removeOverlay(polyline);
			}
			linepointarr=[];              
			$("#tpoints2").val("");
			clng=e.point.lng;
			clat=e.point.lat;
			marker = new BMap.Marker(e.point);  // 创建标注
			bmap.addOverlay(marker);			// 将标注添加到地图中
			if(curmaptype._name=="MyMap"){
				var point3=new BMap.Point(clng,clat);
				var point2=ctool.coor2Baidu(point3);
				clng=point2.lng;
				clat=point2.lat;
	        }
			$("#pointlng1").val(clng);
			$("#pointlat1").val(clat);
		}
	}else if(assemblytype=="2"){//线
		if(drawflag=="1"){
			if(polyline!=""){
				bmap.removeOverlay(polyline);
			}
			if(marker!=""){
				bmap.removeOverlay(marker);
			}
			//清空面标注信息
			if(polygon!=""){
				bmap.removeOverlay(polygon);
			}
			pointarr=[];              
			$("#tpoints3").val("");	
			var npoint=new BMap.Point(e.point.lng,e.point.lat);	
			clng=e.point.lng;
			clat=e.point.lat;
			linepointarr.push(npoint);
			var tcolor=$("#tcolor").val();
			polyline=new BMap.Polyline(linepointarr,{strokeColor:tcolor,strokeWeight:2,strokeOpacity:0.8});
			bmap.addOverlay(polyline);
			linepointstr=fromArrayToString(linepointarr);
			if(curmaptype._name=="MyMap"){
				var tempstr="";
				var tpointstr=linepointstr.split(",")
				for(var i=0;i<tpointstr.length;i+=2){
					var tlng=tpointstr[i];
					var tlat=tpointstr[i+1];
					var point=new BMap.Point(tlng,tlat);
					var npoint=ctool.coor2Baidu(point);
					tempstr+=npoint.lng+","+npoint.lat+",";
				}
				linepointstr=tempstr.substring(0,(tempstr.length-1));
				var point3=new BMap.Point(clng,clat);
				var point2=ctool.coor2Baidu(point3);
				clng=point2.lng;
				clat=point2.lat;
	        }
			$("#tpoints2").val(linepointstr);
			$("#pointlng2").val(clng);
			$("#pointlat2").val(clat);
		}
	}else if(assemblytype=="3"){//面
		if(drawflag=="1"){
			if(polygon!=""){
				bmap.removeOverlay(polygon);
			}
			if(marker!=""){
				bmap.removeOverlay(marker);
			}
			//清空线标注信息
			if(polyline!=""){
				bmap.removeOverlay(polyline);
			}
			linepointarr=[];              
			$("#tpoints2").val("");	
			var npoint=new BMap.Point(e.point.lng,e.point.lat);	
			//获取经度和纬度的最大最小值
			if(pointarr.length==0){
				a=e.point.lng;
				b=e.point.lat;
				c=e.point.lng;
				d=e.point.lat;
			}else{
				if(a<e.point.lng){
					a=e.point.lng;
				}
				if(b<e.point.lat){
					b=e.point.lat;
				}
				if(c>e.point.lng){
					c=e.point.lng;
				}
				if(d>e.point.lat){
					d=e.point.lat;
				}
			}
			clng=(a+c)/2;
			clat=(b+d)/2;
			pointarr.push(npoint);
			var tcolor=$("#tcolor").val();
			polygon=new BMap.Polygon(pointarr,{fillOpacity:0.2,fillColor:tcolor,strokeColor:tcolor,strokeWeight:2,strokeOpacity:0.8});
			bmap.addOverlay(polygon);
			pointstr=fromArrayToString(pointarr);
			if(curmaptype._name=="MyMap"){
				var tempstr="";
				var tpointstr=pointstr.split(",")
				for(var i=0;i<tpointstr.length;i+=2){
					var tlng=tpointstr[i];
					var tlat=tpointstr[i+1];
					var point=new BMap.Point(tlng,tlat);
					var npoint=ctool.coor2Baidu(point);
					tempstr+=npoint.lng+","+npoint.lat+",";
				}
				pointstr=tempstr.substring(0,(tempstr.length-1));
				var point3=new BMap.Point(clng,clat);
				var point2=ctool.coor2Baidu(point3);
				clng=point2.lng;
				clat=point2.lat;
	        }
			$("#tpoints3").val(pointstr);
			$("#pointlng3").val(clng);
			$("#pointlat3").val(clat);
		}
	}
	
}

//重置
function clearform(){
	if(marker!=""){
		bmap.removeOverlay(marker);
	}
	//清空面标注信息
	if(polygon!=""){
		bmap.removeOverlay(polygon);
	}
	//清空线标注信息
	if(polyline!=""){
		bmap.removeOverlay(polyline);
	}
	$("#assemblyname").val("");
	$("#pointlng1").val("");
	$("#pointlat1").val("");
	$("#pointlng2").val("");
	$("#pointlat2").val("");
	$("#pointlng3").val("");
	$("#pointlat3").val("");
	$("#bigtype").val("");
	$("#smalltype").val("");
	$("#assemblytype").val("");
	//清空点字符串
	pointarr=[];
	$("#tpoints3").val("");
	linepointarr=[];
	$("#tpoints2").val("");
}

//将点数组转化为字符串
function fromArrayToString(pointarr){
	var pointstr=""; 
	for(var i=0;i<pointarr.length;i++){
		pointstr+=pointarr[i].lng+","+pointarr[i].lat+",";
	}
	pointstr=pointstr.substring(0,(pointstr.length-1));
	return pointstr;
}

//将字符串转化为点数组
function fromStringToArray(pointstr){
	var pointarr=[];
	var tpoints=pointstr.split(",")
	for(var i=0;i<tpoints.length;i+=2){
		var tlng=tpoints[i];
		var tlat=tpoints[i+1];
		var tpoint=new BMap.Point(tlng,tlat);
		pointarr.push(tpoint);
	}
	return pointarr;
}

//加载
function loadAllCompDetail(ctypeid){
	var curjgid=$("#curjgid").val();
	$.ajax({
		async:false,
        type: "POST",               
        dataType: "json",               
        url: ctxPath+'/componentDetailAction.do?dispatch=getComponentMapList', 
        data: "curjgid="+curjgid+"&ctypeid="+ctypeid,
        success: function(data) {
        	for(var i=0;i<data.length;i++){
        		var obj=data[i];
        		addCoverObj(obj);
        	}
        }
    });
}

//添加覆盖物
function addCoverObj(obj){
	var curmaptype=bmap.getMapType();
	//坐标转换类
	var ctool=new CoorTools(bmap); 
	var tpoints=obj.tpoints;
	var tcolor=obj.assemblycolor;
	var pointlng=obj.longitude;
	var pointlat=obj.latitude;
	var assemblyname=obj.assemblyname;
	var assemblytype=obj.assemblytype;
	var timg=obj.assemblyicon;
	if(tcolor==""||tcolor==null){
		tcolor='red';
	}
	var iconImg = new BMap.Icon(ctxPath+timg, new BMap.Size(20,50),{
    	imageOffset: new BMap.Size(0,0),
    	offset:new BMap.Size(0,0)
    });
	if(assemblytype=="1"){//点
		var cpoint=new BMap.Point(pointlng,pointlat);
		if(curmaptype._name=="MyMap"){
			cpoint=ctool.coor2Baidu3D(cpoint);
	    }	
	    var marker1 = new BMap.Marker(cpoint,{icon:iconImg,title:assemblyname,offset:new BMap.Size(0,-24)});
	    bmap.addOverlay(marker1);
	    compmarkerarr1.push(marker1);
	}else if(assemblytype=="2"){//线
		if(tpoints!=""&&tpoints!=null){
			if(curmaptype._name=="MyMap"){
				var tempstr="";
				var tpointstr=tpoints.split(",")
				for(var i=0;i<tpointstr.length;i+=2){
					var tlng=tpointstr[i];
					var tlat=tpointstr[i+1];
					var point=new BMap.Point(tlng,tlat);
					var npoint=ctool.coor2Baidu3D(point);
					tempstr+=npoint.lng+","+npoint.lat+",";
				}
				tpoints=tempstr.substring(0,(tempstr.length-1));
	        }
			var opointarr=fromStringToArray(tpoints);
			var polyline1=new BMap.Polyline(opointarr,{strokeColor:tcolor,strokeWeight:2,strokeOpacity:0.8});
			bmap.addOverlay(polyline1);
			comppolyline.push(polyline1);
			var cpoint=new BMap.Point(pointlng,pointlat);
			if(curmaptype._name=="MyMap"){
				cpoint=ctool.coor2Baidu3D(cpoint);
		    }	
		    var marker1 = new BMap.Marker(cpoint,{icon:iconImg,title:assemblyname,offset:new BMap.Size(0,-24)});
		    bmap.addOverlay(marker1);
		    compmarkerarr2.push(marker1);
		}
	}else if(assemblytype=="3"){//面
		if(tpoints!=""&&tpoints!=null){
			if(curmaptype._name=="MyMap"){
				var tempstr="";
				var tpointstr=tpoints.split(",")
				for(var i=0;i<tpointstr.length;i+=2){
					var tlng=tpointstr[i];
					var tlat=tpointstr[i+1];
					var point=new BMap.Point(tlng,tlat);
					var npoint=ctool.coor2Baidu3D(point);
					tempstr+=npoint.lng+","+npoint.lat+",";
				}
				tpoints=tempstr.substring(0,(tempstr.length-1));
	        }
			var opointarr=fromStringToArray(tpoints);
			var polygon1=new BMap.Polygon(opointarr,{fillOpacity:0.2,fillColor:tcolor,strokeColor:tcolor,strokeWeight:2,strokeOpacity:0.8});
			bmap.addOverlay(polygon1);
			comppolygon.push(polygon1);
			var cpoint=new BMap.Point(pointlng,pointlat);
			if(curmaptype._name=="MyMap"){
				cpoint=ctool.coor2Baidu3D(cpoint);
		    }	
		    var marker1 = new BMap.Marker(cpoint,{icon:iconImg,title:assemblyname,offset:new BMap.Size(0,-24)});
		    bmap.addOverlay(marker1);
		    compmarkerarr3.push(marker1);
		}
	}
}

//保存
function doSaveComponentDetail(){
	var pointlng="";
	var pointlat="";
	var tpoints="";
	var tcolor=$("#tcolor").val();
	var assemblyname=$("#assemblyname").val();
	var bigtype=$("#bigtype").val();
	var smalltype=$("#smalltype").val();
	var assemblytype=$("#assemblytype").val();
	var lxid=$("#lxid").val();
	var curjgid=$("#curjgid").val();
	if(assemblyname==""){
		alert("名称不能为空!");
		return false;
	}
	if(bigtype==""){
		alert("请选择大类!");
		return false;
	}
	if(smalltype==""){
		alert("请选择小类!");
		return false;
	}
	if(assemblytype==""){
		alert("选择类型!");
		return false;
	}
	if(assemblytype=="1"){
		pointlng=$("#pointlng1").val();
		pointlat=$("#pointlat1").val();
		if(pointlng==""||pointlat==""){
			alert("您还没有在地图上标注位置!");
			return false;
		}
	}else if(assemblytype=="2"){
		tpoints=$("#tpoints2").val();
		if(tpoints==""){
			alert("您还没有在地图上标注位置!");
			return false;
		}
		pointlng=$("#pointlng2").val();
		pointlat=$("#pointlat2").val();
	}else if(assemblytype=="3"){
		tpoints=$("#tpoints3").val();
		if(tpoints==""){
			alert("您还没有在地图上标注位置!");
			return false;
		}
		pointlng=$("#pointlng3").val();
		pointlat=$("#pointlat3").val();
	}
	$.ajax({
        type: "POST",               
        dataType: "json",               
        url: ctxPath+'/componentDetailAction.do?dispatch=saveComponentDetail', 
        data: "pointlng="+pointlng+"&pointlat="+pointlat+"&tpoints="+tpoints+"&tcolor="+tcolor+"&assemblyname="+assemblyname
        	+"&bigtype="+bigtype+"&smalltype="+smalltype+"&assemblytype="+assemblytype+"&lxid="+lxid+"&curjgid="+curjgid,
        success: function(msg) {
        	if(lxid==""){//增加
        		if(msg=="1"){
	        		$("#assemblyname").val("");
	        		$("#pointlng1").val("");
	        		$("#pointlat1").val("");
	        		$("#pointlng2").val("");
	        		$("#pointlat2").val("");
	        		$("#pointlng3").val("");
	        		$("#pointlat3").val("");
	        		$("#bigtype").val("");
					$("#smalltype").val("");
					$("#assemblytype").val("");
					pointarr=[];              
					$("#tpoints3").val("");
					linepointarr=[];              
					$("#tpoints2").val("");
	        		alert("添加成功!");
	        		if(assemblytype=="1"){
	        			for(var i=0;i<compmarkerarr1.length;i++){
	        				bmap.removeOverlay(compmarkerarr1[i]);
	        			}
	        			compmarkerarr1=[];
	        		}else if(assemblytype=="2"){
	        			for(var i=0;i<compmarkerarr2.length;i++){
	        				bmap.removeOverlay(compmarkerarr2[i]);
	        			}
	        			compmarkerarr2=[];
	        			for(var i=0;i<comppolyline.length;i++){
	        				bmap.removeOverlay(comppolyline[i]);
	        			}
	        			comppolyline=[];
	        		}else if(assemblytype=="3"){
	        			for(var i=0;i<compmarkerarr3.length;i++){
	        				bmap.removeOverlay(compmarkerarr3[i]);
	        			}
	        			compmarkerarr3=[];
	        			for(var i=0;i<comppolygon.length;i++){
	        				bmap.removeOverlay(comppolygon[i]);
	        			}
	        			comppolygon=[];
	        		}
	        		loadAllCompDetail(assemblytype);
	        		removeMapListener();
	        	}else{
	        		alert("添加失败!");
	        	}
        	}else{//修改
        		if(msg=="1"){
        			pointarr=[]; 
        			linepointarr=[];                 
        			if(assemblytype=="1"){
	        			for(var i=0;i<compmarkerarr1.length;i++){
	        				bmap.removeOverlay(compmarkerarr1[i]);
	        			}
	        			compmarkerarr1=[];
	        		}else if(assemblytype=="2"){
	        			for(var i=0;i<compmarkerarr2.length;i++){
	        				bmap.removeOverlay(compmarkerarr2[i]);
	        			}
	        			compmarkerarr2=[];
	        			for(var i=0;i<comppolyline.length;i++){
	        				bmap.removeOverlay(comppolyline[i]);
	        			}
	        			comppolyline=[];
	        		}else if(assemblytype=="3"){
	        			for(var i=0;i<compmarkerarr3.length;i++){
	        				bmap.removeOverlay(compmarkerarr3[i]);
	        			}
	        			compmarkerarr3=[];
	        			for(var i=0;i<comppolygon.length;i++){
	        				bmap.removeOverlay(comppolygon[i]);
	        			}
	        			comppolygon=[];
	        		}
	        		loadAllCompDetail(assemblytype);
        			alert("修改成功!");
        			removeMapListener();
        		}else{
	        		alert("修改失败!");
	        	}
        	}
        }
    });
}

var dwmarker="";
function doDingwei(){
	var curmaptype=bmap.getMapType();
	//坐标转换类
	var ctool=new CoorTools(bmap);   
	if(dwmarker!=""){
		bmap.removeOverlay(dwmarker);
		dwmarker="";
	}
	var assemblytype=$("#assemblytype").val();
	var pointlng="";
	var pointlat="";
	if(assemblytype=="1"){
		pointlng=$("#pointlng1").val();
		pointlat=$("#pointlat1").val();
	}else if(assemblytype=="2"){
		pointlng=$("#pointlng2").val();
		pointlat=$("#pointlat2").val();
	}else if(assemblytype=="3"){
		pointlng=$("#pointlng3").val();
		pointlat=$("#pointlat3").val();
	}
	var iconImg = new BMap.Icon(ctxPath+"/images/dw.gif", new BMap.Size(45,45),{
    	imageOffset: new BMap.Size(0,0),
    	offset:new BMap.Size(0,0)
    });
	var dwpoint=new BMap.Point(pointlng,pointlat);
	if(curmaptype._name=="MyMap"){
		dwpoint=ctool.coor2Baidu3D(dwpoint);
    }
	dwmarker= new BMap.Marker(dwpoint,{icon:iconImg,offset:new BMap.Size(0,0)});
	bmap.addOverlay(dwmarker);
	bmap.panTo(dwpoint);
	setTimeout(function(){
		if(dwmarker!=""){
			bmap.removeOverlay(dwmarker);
			dwmarker="";
		}
	},3000)
}

//加载热区
function loadGridHotArea(){
	var curjgid=$("#curjgid").val();
	$.ajax({
		async:false,
        type: "POST",               
        dataType: "json",               
        url: ctxPath+'/gridOrgAction.do?dispatch=getGridOrgById', 
        data: "lxid="+curjgid,
        success: function(data) {
       		var obj=new Object();
       		obj.reseauarea=data.tpoints;
       		obj.tcolor=data.tcolor;
       		obj.pointlng=data.pointlng;
       		obj.pointlat=data.pointlat;
       		obj.reseauname=data.reseauname;
       		addGridCoverObj(obj);
        }
    });
}

//添加覆盖物
function addGridCoverObj(obj){
	var curmaptype=bmap.getMapType();
	//坐标转换类
	var ctool=new CoorTools(bmap); 
	var tpoints=obj.reseauarea;
	var tcolor=obj.tcolor;
	var pointlng=obj.pointlng;
	var pointlat=obj.pointlat;
	var reseauname=obj.reseauname;
	if(tcolor==""||tcolor==null){
		tcolor='red';
	}
	if(tpoints!=""&&tpoints!=null){
		if(curmaptype._name=="MyMap"){
			var tempstr="";
			var tpointstr=tpoints.split(",")
			for(var i=0;i<tpointstr.length;i+=2){
				var tlng=tpointstr[i];
				var tlat=tpointstr[i+1];
				var point=new BMap.Point(tlng,tlat);
				var npoint=ctool.coor2Baidu3D(point);
				tempstr+=npoint.lng+","+npoint.lat+",";
			}
			tpoints=tempstr.substring(0,(tempstr.length-1));
        }
		var opointarr=fromStringToArray(tpoints);
		var polygon1=new BMap.Polygon(opointarr,{fillOpacity:0.2,fillColor:tcolor,strokeColor:tcolor,strokeWeight:2,strokeOpacity:0.8});
		bmap.addOverlay(polygon1);
		gridareaarr.push(polygon1);
		var cpoint=new BMap.Point(pointlng,pointlat);
		if(curmaptype._name=="MyMap"){
			cpoint=ctool.coor2Baidu3D(cpoint);
	    }	
		var myLabel = new BMap.Label(reseauname,     //为lable填写内容    
			{offset:new BMap.Size(-15,-15),    //label的偏移量,为了让label的中心显示在点上    
				position:cpoint
		}); 
		bmap.addOverlay(myLabel);
		gridlabel.push(myLabel);  
	}
}

 

分享到:
评论

相关推荐

    VC MFC调用百度地图API

    在MFC项目中,通常会将与百度地图API交互的部分封装成一个类或一系列函数,方便复用和管理。同时,注意遵守百度地图API的使用政策,防止因滥用导致的账号限制。 最后,实际的代码实现会涉及到具体的MFC控件操作、...

    百度地图js版api几何图形绘制保存到数据库并展示

    前端再次接收到这些数据后,可以使用百度地图API的`new BMap.Polygon()`等构造函数重新创建图形实例,并将其添加到地图上。注意,为了保持图形与地图的同步,可能需要监听地图的`zoom_changed`事件,以便在缩放时...

    基于 React 封装的百度地图组件,支持 React Hook,帮助你轻松的接入地图到 React 项目中。.zip

    在这个特定的案例中,我们有一个针对百度地图的React组件,它允许开发者通过props传递配置参数,如地图中心点坐标、缩放级别、地图类型等,从而在页面上渲染出地图。 React Hook是React 16.8版本引入的新特性,它...

    基于高德地图逆地理编码 获取乡镇/街道边界+百度地图手工描绘边界

    例如,高德地图使用GCJ-02坐标系,而百度地图使用BD-09坐标系,转换过程中可能需要坐标转换函数。 7. **地图可视化工具**: 对于非程序员,可以使用像QGIS这样的开源地理信息系统软件,或者在线工具如Mapbox ...

    百度地图api 地图api 实例

    开发者可以通过调用百度地图API的`initMap()`函数来实现这一点。 其次,定位功能是地图API的另一大亮点。百度地图API提供了获取用户当前位置的能力,这在移动应用中尤其有用。例如,可以使用`getCurrentPosition()`...

    百度地图api 轨迹回放

    在本文中,我们将深入探讨如何使用百度地图API实现轨迹回放功能。百度地图API是一个强大的工具,它允许开发者集成地图功能到网页应用中,包括显示地图、定位、路径规划等。在JavaScript环境下,我们可以利用其...

    百度地图JavaScriptAPI离线版3.0.zip

    1. JavaScript API基础知识:这是百度地图的核心,它提供了丰富的JavaScript函数和对象,用于加载地图、设置地图样式、添加标记、绘制图形、处理地图事件等。开发者需要理解如何引入API库,如何创建地图实例,以及...

    画三角函数曲线

    余切函数(cotan)是余弦函数与正弦函数的比值,即cosθ/ sinθ,它的图形与正切函数相反,也是在每个π/2处有垂直渐近线,但曲线在这些点附近向下无限延伸。 在实现这个项目时,首先需要设置一个合适的坐标系统,...

    delphi百度地图源码

    Delphi百度地图源码是一个基于Delphi编程语言实现的项目,它允许开发者在不依赖额外插件的情况下,集成百度地图API来实现全球地图的显示、定位、导航等功能。这个源码已经过调试,确保可以正常运行,对于学习和开发...

    MFC使用WebBrowser控件调用百度地图API案例

    在本文中,我们将深入探讨如何使用MFC(Microsoft Foundation Class)中的WebBrowser控件来调用百度地图API,实现地图功能的集成。首先,我们理解MFC是一个C++库,它为Windows应用程序开发提供了一套丰富的类库,...

    百度地图离线API 2.0(含示例,可完全断网访问)

    2.包含拉框放大,测距,画线,打印等功能(已修改工具源码,支持右键取消放大,测距手势) 3.自定缩放级别显示指定标签 4.快速定位及隐藏指定类型 注意事项: 1.该示例不包含地图瓦片,所以访问时无背景(可以点击切片/...

    Qt和百度地图交互示例

    本示例探讨了如何在Qt应用中与百度地图API进行交互,以实现地图展示、定位、路线规划等功能。这涉及到Qt的QWebEngineView组件以及JavaScript的交互。 首先,`Qt js 地图 交互`标签表明我们将使用Qt的JavaScript引擎...

    Qt4 百度地图 定位

    在本文中,我们将深入探讨如何在Qt4框架下利用百度地图API实现地图定位显示功能,包括单个点定位和多个点连线定位。首先,我们需要理解Qt4是一个强大的跨平台应用程序开发框架,它提供了丰富的图形用户界面(GUI)...

    VC百度地图测试

    在本文中,我们将深入探讨如何在VC++(Visual C++)环境下,利用MFC(Microsoft Foundation Classes)框架调用JavaScript来实现与百度地图API的交互。这个过程涉及到的知识点包括MFC应用程序开发、HTML和JavaScript...

    Qt加载百度地图和谷歌地图

    在本文中,我们将深入探讨如何在Qt环境中加载和使用百度地图及谷歌地图。Qt是一个功能强大的C++图形用户界面库,它可以与JavaScript和HTML结合,为开发者提供丰富的Web交互功能。我们将主要关注如何利用QWebView类来...

    基于百度地图的天气查询组件

    2. BMap.class.php:这是一个封装了百度地图API的类库,提供了一系列与地图和天气相关的函数。 3. style.css:定义了组件的样式,如地图、天气图标等元素的布局和外观。 4. script.js:负责处理JavaScript端的交互...

    驱动ST7565显示汉字以及画点.pdf

    3. **画点函数实现**:函数LCD_DrawPoint实现了画点功能。它接收X轴坐标、Y轴坐标以及点的高度(用于清除点)。函数内部使用位移和位运算来设置正确的页和列地址,然后通过发送命令给ST7565来点亮或清除点。 ### ...

    百度地图API详解之事件机制,闭包机制,marker事件,信息窗口,叠加层

    5. **叠加层(Overlay)**:叠加层是百度地图API中用于在地图上添加自定义图形或图像的一类对象,如Polygon(多边形)、Polyline(线)等。它们可以用于绘制特定形状,或者覆盖地图的一部分,实现更丰富的地图展示...

    C#调用百度地图获取经纬度

    本教程将详细介绍如何在C#环境中利用JavaScript与百度地图API交互,从而实现获取地图上的经纬度功能。 首先,我们需要理解C#与JavaScript之间的交互原理。C#通常作为后端语言运行在服务器上,而百度地图API则运行在...

Global site tag (gtag.js) - Google Analytics