现在的位置: 首页 > 综合 > 正文

百度地图搜索某个城市(地区)的包含某关键词的所有地点,并显示锚点,点击地点显示信息框

2013年09月20日 ⁄ 综合 ⁄ 共 2672字 ⁄ 字号 评论关闭

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>百度地图地点查找</title>
<style>
body,td{ font-size:12px}
</style>
<script type="text/javascript" src="http://api.map.baidu.com/api?v=1.2" charset="utf-8"></script>
</head>

<body leftmargin="0" topmargin="0">
<script language="javascript">
var markerImg="/images/markers.png";
function makeMarkAndInfoWindow(point,title,sContent,id,map)
{
	var icon=new BMap.Icon(markerImg,new BMap.Size(23, 25),{imageOffset:{width:0,height:(-25*id)}});
	var marker = new BMap.Marker(point,{icon:icon});
	var infoWindow = new BMap.InfoWindow(sContent,{title:title});  // 创建信息窗口对象
	
	marker.addEventListener("click", function(){          
	   this.openInfoWindow(infoWindow);
	});
	map.addOverlay(marker);
}
var map;
var local;
//在某个城市搜索某个地名
function gotoMap(city_name,land_name)
{
	if(city_name==''){
		city_name='太原';
	}
	map = new BMap.Map("container");
	map.centerAndZoom(city_name,15);
	map.addControl(new BMap.NavigationControl());  
	var options = {  
	 onSearchComplete: function(results){  
	   if (local.getStatus() == BMAP_STATUS_SUCCESS){  
		 var s = [];  
		 for (var i = 0; i < results.getCurrentNumPois(); i ++){  
		 	var obj=results.getPoi(i);
			var point = obj.point;
			if(i==0) map.centerAndZoom(point, 15);
		 	makeMarkAndInfoWindow(point,"<b>"+obj.title+"</b>","地址:" + obj.address+"<br/>类型:" + obj.tags.join(","),i,map);
		    s.push('<a href="javascript:map.centerAndZoom(new BMap.Point('+point.lng+','+point.lat+'), 15);void(0)"><div style="position: relative;float:left; margin: 0pt; padding: 0pt; width: 23px; height: 25px; overflow: hidden;"><img style="border:none;left:-23px; top:'+(-25*i)+'px; position:absolute;" src="'+markerImg+'"></div>'+"<strong>"+results.getPoi(i).title + 
			"</strong></a> 地址:" + results.getPoi(i).address+"  - <img src='/images/icon/icon_right_19x19.gif'><a href='javascript:parent.setPositionInfo(\""+obj.url+"\",\""+obj.address+"\",\""+obj.point.lng+"\",\""+obj.point.lat+"\",\""+obj.uid+"\");void(0)'>选取</a>");  
		 }  
		 var html="";
		 for(var i=0;i<results._numPages;i++)
		 {
		 	if(results._pageIndex==i)
			{
				html+=' ['+i+'] ';
			}else{
			 	html+=' [<a href="javascript:local.gotoPage('+i+');">'+(1+i)+'</a>] ';
			}
		}
		document.getElementById("results").innerHTML = "<div style='font-weight:bold'>分页:"+html+"</div>"+s.join("<br/>");
	   }  
	 }  
	};

	local = new BMap.LocalSearch(map, options);  
	local.search(land_name);
}
window.onload=function(){
	gotoMap("晋中市","山西平遥古城");
}
</script>
<div style="width:700px;height:400px;border:1px solid gray; margin:0px; padding:0px" id="container"></div>
<div id="results" style="font-size:13px;margin-top:10px; height:270px; overflow:auto; line-height:25px"></div>
</body>
</html>

百度地图搜索某个城市(地区)的包含某关键词的所有地点,并显示锚点,点击地点显示信息框

我的QQ群:

PHPer&Webgame&移动开发,群号:95303036

 

抱歉!评论已关闭.