在好例子网,分享、交流、成长!
您当前所在位置:首页Java 开发实例Android平台开发 → 百度地图 本地搜索,范围查找实例源码下载

百度地图 本地搜索,范围查找实例源码下载

Android平台开发

下载此实例
  • 开发语言:Java
  • 实例大小:0.11M
  • 下载次数:33
  • 浏览次数:555
  • 发布时间:2017-05-31
  • 实例类别:Android平台开发
  • 发 布 人:crazycode
  • 文件格式:.rar
  • 所需积分:2
 相关标签: 地图 实例 下载 百度 源码

实例介绍

【实例简介】框架:SpringMvc DWZ

【实例截图】

【核心代码】

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />  
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
	<title>百度测试地图</title>
	<style type="text/css">  
		html{height:100%}
		body{height:100%;margin:0px;padding:0px}
		#container{height:100%}
		#typeTbl tr td {
			cursor: pointer
		}
		.tdback {
			background:#ddd;
		}
		#infoDiv {
			
		}
		
		#buttons button {
			width: 55px; height:27px;
		}
		
		#panel span {
			width:30px; height:30px; float:right; display: block; background:#fff;  text-align:center; cursor: pointer; line-height: 30px;
		}
	</style>
	<link href="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.css" rel="stylesheet" type="text/css" />
	<script type="text/javascript" src="/devices/scripts/jquery-1.7.2.js"></script>
	<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2&services=true"></script>
	<script type="text/javascript" src="http://api.map.baidu.com/library/DistanceTool/1.2/src/DistanceTool_min.js"></script>
	<script type="text/javascript" src="http://api.map.baidu.com/library/TrafficControl/1.4/src/TrafficControl_min.js"></script>  
	<script type="text/javascript" src="/devices/scripts/GeoUtils.js"></script>
	
	<script type="text/javascript">
		window.onload = function() {
			defaultMap();
			
			//本地版
			setTimeout(function() {
				$('#container').find('.anchorBL').remove();
			}, 1000);
			
			//初始化
			
			$('#typeTbl').css({
				left: '60px',
				top: '100px',
				'border-collapse': 'collapse',
				position: 'absolute',
				width: '130px',
				background:'#fff'
			})
				.find('tr td')
					.css({
						'text-align':'center'
					}).
						click(function() {
							var cls = $.trim($(this).attr('func'));
							try {
								eval(cls 'Map();');
							}catch(e){
								$('#istmap').html('');
							}
						})
							.mousedown(function() {
								$('#typeTbl tr td').removeClass('tdback');
								$(this).addClass('tdback');
							});
			
			initbuttons();
		}
		
		function initbuttons() {
			var _left = $('#typeTbl').css('left').replace('px', '');
			var _top = $('#typeTbl').css('top').replace('px','');
			var _tdhgt = $('#typeTbl tr').find('td:eq(0)').height();
			var _tblwidth = $('#typeTbl').width();
			//alert(_left '-' _top '-' _tdhgt '-' _tblwidth);
			//alert(_left _tblwidth   40);
			$('#playbtn').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 5   4)   'px'
			})
				.click(function() {
					play();
				});
			
			$('#pausebtn').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 5   4)   'px'
			})
				.click(function() {
					if(timer) {  
				        window.clearTimeout(timer);  
				    }  
				});
			
			$('#resetbtn').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 5   4)   'px'
			})
				.click(function() {
					if(timer) {  
				        window.clearTimeout(timer);  
				    }  
				    index = 0;  
				    car.setPosition(points[0]);  
				    map.panTo(centerPoint);  
				});
			
			$('#gonEnable').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 7)   'px'
			})
				.click(function() {
					if (polygon) {
						polygon.enableEditing();  //v1.4 有错误, 1.5 正常, 2.0 有nodetype 错误
						
					}
					
				});
			
			$('#gonDisable').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 7)   'px'
			})
				.click(function() {
					if (polygon) {
						polygon.disableEditing(); 
					}
				});
			
			$('#quanzhou').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 10   5)   'px'
			})
				.click(function() {
					$('#spn').html('定位泉州');
					map.centerAndZoom('泉州市');
				});
			
			$('#xiamen').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 10   5)   'px'
			})
				.click(function() {
					$('#spn').html('定位厦门');
					map.centerAndZoom('厦门市');
				});
			
			$('#hotel').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 12   2)   'px'
			})
				.click(function() {
					$('#spn').html('查询酒店.....');
					var bo = map.getBounds();
					//var local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}})
					local.searchInBounds(['酒店'] ,bo); 
				});
			
			$('#bank').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 12   2)   'px'
			})
				.click(function() {
					$('#spn').html('查询银行.....');
					var bo = map.getBounds();
					//var local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}})
					local.searchInBounds(['银行'] ,bo);  //searchNearby
				});
			
			$('#ills').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 12   2)   'px'
			})
				.click(function() {
					$('#spn').html('查询加油站.....');
					var bo = map.getBounds();
					//var local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}})
					local.searchInBounds(['加油站'] ,bo); 
				});
			
			$('#distance').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 17   2)   'px'
			})
				.click(function() {
					myDis.open();
				});
			
			$('#area').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 17   2)   'px'
			})
				.click(function() {
					myDis.close();
					
					var arrs = ['116.403722,39.915284', '116.40303,39.91482', '116.402455,39.915138','116.402105,39.915464','116.403308,39.915706','116.405392,39.914654'];
					
					var historys = [];
					
					for (itm in arrs) {
						var one = arrs[itm];
						
						var _point = null;
						try {
							eval("_point=new BMap.Point(" one ")");
						}catch(e) {}
						
						if (_point) {
							historys.push(_point);
						}
					}
					
					
					var _polygon = new BMap.Polygon(historys, {strokeColor: "blue", strokeWeight: 5, strokeOpacity: 0.5});
					
					map.addOverlay(_polygon);
					
					_polygon.addEventListener('click', function(e) {
						var resultArea = BMapLib.GeoUtils.getPolygonArea(_polygon);
						
						alert(resultArea.toFixed(2)   "平方米");
					});
				});
			
			$('#print').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 17   2)   'px'
			})
				.click(function() {
					myDis.close();
					
					var pot = map.getCenter();
					var zoom = map.getZoom();
					
					window.open('/devices/print.do?lng=' pot.lng '&lat=' pot.lat '&zoom=' zoom, '打印地图', "height=600, width=700, top=10, left=10,toolbar=yes, menubar=no, scrollbars=yes, resizable=yes, location=no, status=no");
					
				});
			
			$('#panel span').click(function() {
				toFullScreen();
			});
			
			$('#closeTrafic').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 20   9)   'px'
			})
				.click(function() {
					if (trafic) {
						trafic.hideTraffic();
					}
				});
			
			$('#openTrafic').css({
				position:'absolute',
				left: (parseInt(_left) parseInt(_tblwidth)   15   60)   'px',
				top : (parseInt(_top)   parseInt(_tdhgt) * 20   9)   'px'
			})
				.click(function() {
					if (trafic) {
						trafic.showTraffic();
					}
				});
		}
		
		function defaultMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.404, 39.915);
			map.centerAndZoom(point, 15);
		}
		
		function Map() {
			$('#istmap').html('');
		}
		
		function scrollWheelMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.404, 39.915);
			map.centerAndZoom(point, 18);
			map.enableScrollWheelZoom();
		}
		
		function controlMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.404, 39.915);
			map.centerAndZoom(point, 18);
			
			map.addControl(new BMap.NavigationControl());    
			map.addControl(new BMap.ScaleControl({offset:new BMap.Size(0, 40)}));    
			map.addControl(new BMap.OverviewMapControl({isOpen: true, offset:new BMap.Size(0, 40)}));    
			map.addControl(new BMap.MapTypeControl());    
			try { //针对移动端开发,默认位于地图左下方
				map.addControl(new BMap.GeolocationControl({}));
			} catch(e){}
			
		}
		
		function getPointMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.404, 39.915);
			map.centerAndZoom(point, 18); //级别 [3, 18]
			map.addEventListener('click', function(e) {
				var _ll = $('#spn').html();
				$('#spn').html(_ll '-' e.point.lng ',' e.point.lat);
			});
		}
		
		var points = [];
		var map;   //百度地图对象  
		var car;   //汽车图标  
		var label; //信息标签  
		var centerPoint;  
		  
		var timer;     //定时器  
		var index = 0; //记录播放到第几个point  
		
		function guiJiMap() {
			var pointsStr = '116.401072,39.913859-116.401242,39.913859-116.401431,39.913873-116.401844,39.913886-116.402257,39.9139-116.402608,39.9139-116.402994,39.913914-116.403416,39.913928-116.403784,39.913942-116.404135,39.913949-116.404557,39.913962-116.405015,39.913997-116.405455,39.914004-116.405815,39.914011-116.406228,39.914045-116.406587,39.914045-116.406955,39.914059-116.407719,39.914052-116.40886,39.914108-116.408788,39.914101-116.409192,39.914101-116.409462,39.914108-116.409848,39.914115-116.410297,39.914163-116.410953,39.914239';
			
			var arrs = pointsStr.split('-');
			
			for (itm in arrs) {
				var one = arrs[itm];
				var point = null;
				try {
					eval("point=new BMap.Point(" one ");");
				}catch(e) {}
				
				if (point) {
					points.push(point);
				}
			}
			
			$('#spn').html(points.length);
			
			map = new BMap.Map("istmap");
			map.centerAndZoom(points[0], 18); //级别 [3, 18]
			
			// 
			map.addControl(new BMap.NavigationControl());  
		    map.addControl(new BMap.ScaleControl());  
		    //map.addControl(new BMap.OverviewMapControl({isOpen: true}));  
		    
		    var driving = new BMap.DrivingRoute(map);  
		    
		    driving.search(new BMap.Point(116.401152, 39.913859), new BMap.Point(116.404871,39.913983)); 
		    
		    driving.setSearchCompleteCallback(function() {  
		        //得到路线上的所有point  
		        //points = driving.getResults().getPlan(0).getRoute(0).getPath(); //这句会减少 点数; 奇
		        //画面移动到起点和终点的中间  
		        centerPoint = new BMap.Point((points[0].lng   points[points.length - 1].lng) / 2, (points[0].lat   points[points.length - 1].lat) / 2);  
		        map.panTo(centerPoint);  
		        //连接所有点  
		        map.addOverlay(new BMap.Polyline(points, {strokeColor: "blue", strokeWeight: 5, strokeOpacity: 1}));  
		          
		        //显示小车子  
		        label = new BMap.Label("", {offset: new BMap.Size(-20, -20)});  
		        car = new BMap.Marker(points[0]);  
		        car.setLabel(label);  
		        map.addOverlay(car);  
		          
		        //点亮操作按钮  
		        //playBtn.disabled = false;  
		        //resetBtn.disabled = false;  
		    });  

		}
		
		
		
		function play() {
			$('#spn').html($('#spn').html() ',' index);
			var point = points[index];  
		    if(index > 0) {  
		        map.addOverlay(new BMap.Polyline([points[index - 1], point], {strokeColor: "red", strokeWeight: 1, strokeOpacity: 1}));  
		    }  
		    label.setContent("经度: "   point.lng   "<br>纬度: "   point.lat);  
		    car.setPosition(point);  
		    index  ;  
		    if(true) {  
		        map.panTo(point);  
		    }  
		    if(index < points.length) {  
		        timer = window.setTimeout("play("   index   ")", 1000);  
		    } else {  
		        //playBtn.disabled = true;  
		        //pauseBtn.disabled = true;  
		        $('#spn').html($('#spn').html() ',End:'   index   '-'   points.length);
		        map.panTo(point);  
		    }  
		}
		
		var polygon ;
		function lineAreaMap() {
			var historys = [];
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.404, 39.915);
			map.centerAndZoom(point, 18); //级别 [3, 18]
			map.addEventListener('click', function(e) {
				$('#spn').html(historys.length);
				
				if (polygon) {
					map.removeOverlay(polygon);
				}
				
				historys.push(e.point);
				var len = historys.length;
				if (len > 0) {
					polygon = new BMap.Polygon(historys, {strokeColor: "blue", strokeWeight: 5, strokeOpacity: 0.5});
					
					map.addOverlay(polygon);
					//polygon.enableEditing();
				}

			});
		}
		
		function circleSearchMap() { //116.403326,39.915374
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 18); //级别 [3, 18]
			
			var cars = ['116.40329,39.915851', '116.403757,39.915816', '116.403722,39.915284', '116.40303,39.91482', '116.402455,39.915138','116.402105,39.915464','116.403308,39.915706','116.405392,39.914654'];
			for (itm in cars) {
				var one = cars[itm];
				var _point = null;
				try {
					eval("_point=new BMap.Point(" one ");");
				}catch(e) {}
				
				if (_point) {
					
					var distence = (map.getDistance(point,_point)).toFixed(2);
					
					var sign = 'B';
					if (distence <= 100) {
						sign = 'A';
					}
					
					createCar(_point, sign);
				}
				
			}
			
			$('#spn').html('100米范围内!');
		}
		
		function createCar(point, sign) {
			var label = new BMap.Label("" sign, {offset: new BMap.Size(-20, -20)});  
	        var car = new BMap.Marker(point);  
	        car.setLabel(label);  
	        
	        var opts = {
       		  width : 200,     // 信息窗口宽度
       		  height: 100,     // 信息窗口高度
       		  title : "是否在100米范围内?" , // 信息窗口标题
       		  enableMessage:false, //设置允许信息窗发送短息
       		  message: ''
       		};
       		var infoWindow = new BMap.InfoWindow((sign=='A')?'在范围内' : '不在范围内', opts);  //创建信息窗口对象 
       		
	        car.addEventListener('click', function() {
	        	map.openInfoWindow(infoWindow,point); //开启信息窗口
	        });
	        map.addOverlay(car);  
		}
		
		function toCityMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 12); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			map.addControl(new BMap.NavigationControl());  
		    map.addControl(new BMap.ScaleControl());  
		}
		
		var local;
		function liveSearchMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 12); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			map.addControl(new BMap.NavigationControl());  
		    map.addControl(new BMap.ScaleControl());  
		    local = new BMap.LocalSearch(map, {renderOptions: {map: map, autoViewport: false}});
		    
		    local.setSearchCompleteCallback(function(rs) {
		    	if (local.getStatus() == BMAP_STATUS_SUCCESS) {
		    		//var poi = rs.getPoi(0);
		    		//var point = poi.point;
		    		$('#spn').html('定位成功');
		    	}
		    });
		}
		
		function markerLocaMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 12); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			map.addControl(new BMap.NavigationControl());  
		    map.addControl(new BMap.ScaleControl()); 
		    
		    var label = new BMap.Label("京A 88888", {offset: new BMap.Size(-20, -20)});  
	        var car = new BMap.Marker(new BMap.Point(116.410297,39.914163));  
	        car.setLabel(label);  
	        
	        var opts = {
         		  width : 200,     // 信息窗口宽度
         		  height: 100,     // 信息窗口高度
         		  title : "车辆定位" // 信息窗口标题
         		};
         		
  	        car.addEventListener('click', function(e) {
  	        	var infoWindow = new BMap.InfoWindow("京A 88888: 位置:"   e.point.lng, opts);  //创建信息窗口对象 
  	        	map.openInfoWindow(infoWindow,e.point); //开启信息窗口
  	        });
  	        map.addOverlay(car); 
		}
		
		function pointAddrMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 12); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			map.addControl(new BMap.NavigationControl());  
		    map.addControl(new BMap.ScaleControl()); 
		    
		    var gc = new BMap.Geocoder();
		    
		    map.addEventListener('click', function(e) {
		    	if (e.overlay != null) {
		    		return;
		    	}
		    	createMarker(e.point, gc);
		    });
		}
		
		function createMarker(point, gc) {
			var marker = new BMap.Marker(point);
			marker.enableDragging();
			marker.addEventListener('click', function(e) {
				gc.getLocation(e.point, function(rs){  
					showLocationInfo(e.point, rs, marker);  
				});
				
			});
			
			marker.addEventListener('dragend', function(e) {
				gc.getLocation(e.point, function(rs){  
		        	showLocationInfo(e.point, rs, marker);  
		    	});  
				
			});
			
			marker.addEventListener('dblclick', function(e) {
				map.removeOverlay(marker);
			});
			
			map.addOverlay(marker); 
		}
		
		function showLocationInfo(pt, rs, marker){  
		    var opts = {  
		      width : 250,     //信息窗口宽度  
		      height: 150,     //信息窗口高度  
		      title : "当前位置"  //信息窗口标题  
		    };
		    
		    var addComp = rs.addressComponents;  
		    var addr = "当前位置:"   addComp.province   ", "   addComp.city   ", "   addComp.district   ", "   addComp.street   ", "   addComp.streetNumber   "<br/>";  
		    addr  = "纬度: "   pt.lat   ", "   "经度:"   pt.lng;  
		      
		    var infoWindow = new BMap.InfoWindow(addr, opts);  //创建信息窗口对象  
		    marker.openInfoWindow(infoWindow);  
		} 
		
		var myDis;
		function mapToolsMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 18); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			
			myDis = new BMapLib.DistanceTool(map);

			map.addEventListener("load",function(){ //Error
				$('#spn').html('loaded');
				myDis.open();
				//myDis.close();
			});
		}
		
		function fullMap() {
			//本地版
			if (map) {
				setTimeout(function() {
					$('#container').find('.anchorBL').remove();
					
					toFullScreen();
				}, 1000);
			}
			
		}
		
		function toFullScreen() {
			var _width = $(window).width();
			var _height = $(window).height();
			
			var posi = $('#container').css('position');
			
			if (posi != 'absolute') {
				$('#container').css({
					position:'absolute',
					width: _width   'px',
					height: _height   'px'
				});
				
				$('#panel').css('display','block');
				
				$('#istmap').css('height', '100%');
				
				map.width = _width ;
				map.height = _height ;
			} else {
				$('#container').css({
					position:'relative',
					width: '700px',
					height: '600px'
				});
				
				$('#panel').css('display','none');
				
				$('#istmap').css('height', '640px');
				
				map.width = '700';
				map.height = '640';
			}
			
			map.reset();
		}
		
		var trafic;
		function realTrafficMap() {
			map = new BMap.Map("istmap");
			//var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom("泉州市"); //级别 [3, 18]
			
			map.enableScrollWheelZoom();
			
			trafic = new BMapLib.TrafficControl({
				showPanel : true //true false 没啥区别
			});
			
			map.addControl(trafic); 
			
			trafic.showTraffic();
			
		}
		
		function trafPanelMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.403326,39.915374);
			map.centerAndZoom(point, 18);
			
			var icon = new BMap.Icon("/devices/images/youdaoping.jpg", new BMap.Size(403, 300));
			var marker = new BMap.Marker(point, {icon:icon});
			
			map.addOverlay(marker);
		}
		
		function InPolygonMap() {
			map = new BMap.Map("istmap");
			var point = new BMap.Point(116.402455,39.915138);
			map.centerAndZoom(point, 18);
			
			var point2 = new BMap.Point(116.400455,39.91518);
			
			var arrs = ['116.403722,39.915284', '116.40303,39.91482', '116.402455,39.915138','116.402105,39.915464','116.403308,39.915706','116.405392,39.914654'];
			
			var historys = [];
			
			for (itm in arrs) {
				var one = arrs[itm];
				
				var _point = null;
				try {
					eval("_point=new BMap.Point(" one ")");
				}catch(e) {}
				
				if (_point) {
					historys.push(_point);
				}
			}
			
			
			polygon = new BMap.Polygon(historys, {strokeColor: "blue", strokeWeight: 5, strokeOpacity: 0.5});
			
			map.addOverlay(polygon);
			
			map.addEventListener('click', function(e) {
				if (e.overlay != null) {
		    		return;
		    	}
				
				createInMarker(e.point);
			});
			
			createInMarker(point2);
		}
		
		function createInMarker(point) {
			var marker = new BMap.Marker(point);
			
			map.addOverlay(marker);
			
			marker.enableDragging();
			marker.addEventListener('click', function(e) {
				var isIn = isInsidePolygon(e.point, polygon.points);
				
				var result = (isIn)? '在圈里' : '不在圈内';
				alert(result);
			});
		}
		
		function isInsidePolygon(pt, poly){  
            for (var c = false, i = -1, l = poly.length, j = l - 1;   i < l; j = i)   
                ((poly[i].lat <= pt.lat && pt.lat < poly[j].lat) || (poly[j].lat <= pt.lat && pt.lat < poly[i].lat)) &&  
                (pt.lng < (poly[j].lng - poly[i].lng) * (pt.lat - poly[i].lat) / (poly[j].lat - poly[i].lat)   poly[i].lng) &&  
                (c = !c);  
            return c;  
        }  
		
		function crossPointMap() {
			map = new BMap.Map("istmap");
			map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
			map.enableScrollWheelZoom();
			var options = {
				onSearchComplete: function(results){
					if (driving.getStatus() == BMAP_STATUS_SUCCESS){
						// 获取第一条方案
						var plan = results.getPlan(0);
						// 获取方案的驾车线路
						var route = plan.getRoute(0);
						// 获取每个关键步骤,并输出到页面
						
						var s = [];
						for (var i = 0; i < route.getNumSteps(); i   ){
							
							var step = route.getStep(i);
							var point = route.getPoint(i);
							s.push((i   1)   ". "   step.getDescription());
						}
						$('#spn').html(s.join("<br/>"));

					}
				}
			};
			/*
			var driving1 = new BMap.DrivingRoute(map, {});
			driving1.search("天安门", "三里屯");
			var driving2 = new BMap.DrivingRoute(map, {});
			driving2.search("三里屯", "百度大厦");
			
			driving1.setSearchCompleteCallback(function(){  
				var pts = driving1.getResults().getPlan(0).getRoute(0).getPath(); 
				var polyline = new BMap.Polyline(pts);       
		        map.addOverlay(polyline);  
		        
		        MarkerLabel(pts[0], "起点");
		        MarkerLabel(pts[pts.length - 1], "途经点");
			});
			
			driving2.setSearchCompleteCallback(function(){  
				var pts = driving2.getResults().getPlan(0).getRoute(0).getPath(); 
				var polyline = new BMap.Polyline(pts);       
		        map.addOverlay(polyline);  
		        
		        MarkerLabel(pts[pts.length-1], "终点");
		        
			});
			*/
			
			var addrs = ["天安门", "三里屯", "百度大厦"];
			
			var drlen = addrs.length;
			for (var i=0;i<drlen;i  ) {
				if (i==0) {
					continue;
				}
				
				var opt = {};
				if (drlen == 2) {
					opt.start = true;
					opt.end = true;
				} else {
					if ((i-1) == 0) {
						opt.start = true;
					}
					else if (i == (drlen-1)) {
						opt.end = true;
					}else {
						opt.pass = true;
					}
				}
				
				var drive = new drivingFunc(opt);
				drive.init();
				drive.search(addrs[i-1], addrs[i]);
			}
		}
		
		function MarkerLabel(point, info) {
			var lbl = new BMap.Label(info, {});
			var marker = new BMap.Marker(point);
			marker.setLabel(lbl);
			map.addOverlay(marker);
		}
		
		function drivingFunc(opts) {
			this.driving = new BMap.DrivingRoute(map, {renderOptions:{enableDragging: true,autoViewport: true}}); //renderOptions 下 map 会出现 起点,终点图标
			this.start = opts.start;
			this.end = opts.end;
			this.pass = opts.pass;
		}
		
		drivingFunc.prototype.init = function() {
			var me = this;
			me.driving.setSearchCompleteCallback(function() {
				var pts = me.driving.getResults().getPlan(0).getRoute(0).getPath(); 
				var polyline = new BMap.Polyline(pts);       
		        map.addOverlay(polyline);  
		        
		        if (me.start && me.end) {
		        	MarkerLabel(pts[0], "起点");
			        MarkerLabel(pts[pts.length - 1], "终点");
		        } else {
		        	if (me.start) {
		        		MarkerLabel(pts[0], "起点");
				        MarkerLabel(pts[pts.length - 1], "途经点");
		        	} else if (me.pass) {
		        		MarkerLabel(pts[pts.length - 1], "途经点");
		        	} else {
		        		MarkerLabel(pts[pts.length - 1], "终点");
		        	}
		        	
		        }
			});
		}
		
		drivingFunc.prototype.search = function(start, end) {
			var me = this;
			me.driving.search(start, end);
		}
	</script>
</head>
<body>
	<div id="container" style="margin:0px auto; width:700px; height:600px; padding-bottom: -40px; overflow: hidden;">
		<div id="panel" style="height:30px; width:100%; display:none; background: #6485ed;">
			<span>X</span>
		</div>
		<div id="istmap" style="width:100%; height:640px;"></div>
	</div>
	<div id="infoDiv" style="margin:0px auto; width:700px; height:600px; ">
		<span id="spn"></span>
	</div>
	
	<table id="typeTbl" style=" " border="1" rules="all" cellpadding="5">
		<tr>
			<td func="default" class='tdback'>
				默认地图
			</td>
		</tr>
		<tr>
			<td func='scrollWheel'>
				放大缩小
			</td>
		</tr>
		<tr>
			<td func='getPoint'>
				点击获坐标
			</td>
		</tr>
		<tr>
			<td func='guiJi'>
				轨迹回放
			</td>
		</tr>
		<tr>
			<td func='lineArea'>
				圈画区域
			</td>
		</tr>
		<tr>
			<td func='circleSearch'>
				中心点范围搜索
			</td>
		</tr>
		<tr>
			<td func='toCity'>
				定位城市
			</td>
		</tr>
		<tr>
			<td func='liveSearch'>
				生活服务搜索
			</td>
		</tr>
		<tr>
			<td func='markerLoca'>
				标注定位
			</td>
		</tr>
		<tr>
			<td func='pointAddr'>
				经纬度获取地址
			</td>
		</tr>
		<tr>
			<td func='mapTools'>
				地图工具
			</td>
		</tr>
		<tr>
			<td func='full'>
				地图全屏
			</td>
		</tr> 
		<tr>
			<td func='realTraffic'>
				实时路况
			</td>
		</tr>
		<tr>
			<td func='trafPanel'>
				诱导屏
			</td>
		</tr>
		<tr>
			<td func='InPolygon'>
				是否在区域内
			</td>
		</tr>
		<tr>
			<td func='crossPoint'>
				经过点公交线
			</td>
		</tr>
		<tr>
			<td func='control'>
				地图控件
			</td>
		</tr>
	</table>
	
	<div id="buttons" style="position:absolute; top:0px; left:0px; ">
		<button id="playbtn">播放</button> <button id="pausebtn">暂停</button> <button id="resetbtn">重置</button>
		
		<button id="gonEnable">编辑</button> <button id="gonDisable">禁止</button>
		
		<button id="quanzhou">泉州</button> <button id="xiamen">厦门</button>
		
		<button id="hotel">酒店</button> <button id="bank">银行</button> <button id="ills">加油站</button>
		
		<button id="distance">测距</button> <button id="area">面积</button> <button id="print">打印</button>
		
		<button id="closeTrafic">关闭</button> <button id="openTrafic">开启</button><!-- 路况 -->
	</div>
</body>
</html>

实例下载地址

百度地图 本地搜索,范围查找实例源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警