百度地图(插架)的使用

6 篇文章 0 订阅

 

 

 

 

 

<!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>
		<title>百度地图API显示多个标注点带百度样式信息检索窗口的代码</title>
		<!-- 原作博客地址:http://blog.csdn.net/a497785609/article/details/24009031 -->
		<!--css-->
		<link href="style/demo.css" rel="stylesheet" type="text/css" />
		<!--javascript-->
		<script src="scripts/jquery-1.9.1.js" type="text/javascript"></script>
		<script src="scripts/demo.js" type="text/javascript"></script>
		<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR"></script>
		<script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
		<link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />
		<style type="text/css">
			.image {
				width: 25px;
				height: 25px;
			}

			.head {
				margin-left: 93px;
			}
		</style>
	</head>
	<body>

		<div class="demo_main">
			<fieldset class="demo_title">
				百度地图API显示多个标注点带提示的代码
			</fieldset>
			<fieldset class="demo_content">
				<div style="min-height: 600px; width: 100%;" id="map">
				</div>
				<script type="text/javascript">
					var markerArr = [{
							title: "名称:广州火车站",
							point: "113.264531,23.157003",
							address: "广东省广州市广州火车站",
							tel: "12306",
							img: "img/12.jpg"
						},
						{
							title: "名称:广州塔(赤岗塔)",
							point: "113.330934,23.113401",
							address: "广东省广州市广州塔(赤岗塔) ",
							tel: "18500000000",
							img: "img/12.jpg"
						},
						{
							title: "名称:广州动物园",
							point: "113.312213,23.147267",
							address: "广东省广州市广州动物园",
							tel: "18500000000",
							img: "img/12.jpg"
						},
						{
							title: "名称:天河公园",
							point: "113.372867,23.134274",
							address: "广东省广州市天河公园",
							tel: "18500000000",
							img: "img/12.jpg"
						}

					];

					function map_init() {
						var map = new BMap.Map("map"); // 创建Map实例
						var point = new BMap.Point(113.312213, 23.147267); //地图中心点,广州市
						map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别。
						map.enableScrollWheelZoom(true); //启用滚轮放大缩小
						//地图、卫星、混合模式切换
						map.addControl(new BMap.MapTypeControl({
							mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]
						}));
						//向地图中添加缩放控件
						var ctrlNav = new window.BMap.NavigationControl({
							anchor: BMAP_ANCHOR_TOP_LEFT,
							type: BMAP_NAVIGATION_CONTROL_LARGE
						});
						map.addControl(ctrlNav);

						//向地图中添加缩略图控件
						var ctrlOve = new window.BMap.OverviewMapControl({
							anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
							isOpen: 1
						});
						map.addControl(ctrlOve);

						//向地图中添加比例尺控件
						var ctrlSca = new window.BMap.ScaleControl({
							anchor: BMAP_ANCHOR_BOTTOM_LEFT
						});
						map.addControl(ctrlSca);

						var point = new Array(); //存放标注点经纬信息的数组
						var marker = new Array(); //存放标注点对象的数组
						var info = new Array(); //存放提示信息窗口对象的数组
						var searchInfoWindow = new Array(); //存放检索信息窗口对象的数组
						for (var i = 0; i < markerArr.length; i++) {
							var p0 = markerArr[i].point.split(",")[0]; //
							var p1 = markerArr[i].point.split(",")[1]; //按照原数组的point格式将地图点坐标的经纬度分别提出来
							point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
							marker[i] = new window.BMap.Marker(point[i]); //按照地图点坐标生成标记
							map.addOverlay(marker[i]);
							marker[i].setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画

							//显示marker的title,marker多的话可以注释掉
							var label = new window.BMap.Label(markerArr[i].title, {
								offset: new window.BMap.Size(20, -10)
							});
							marker[i].setLabel(label);

							// 创建信息窗口对象
							info[i] = "<p style='font-size:12px;lineheight:1.8em;margin-top:-10px'>" +
								"</br>地址:" +
								markerArr[i].address + "</br> 电话:" +
								markerArr[i].tel + "<i class='head'></i>" + "头像:" +
								"<img class='image'  src=" + markerArr[i].img + " >" + "</p>";
							//创建百度样式检索信息窗口对象                       
							searchInfoWindow[i] = new BMapLib.SearchInfoWindow(map, info[i], {
								title: markerArr[i].title, //标题
								width: 290, //宽度
								height: 55, //高度
								panel: "panel", //检索结果面板
								enableAutoPan: true, //自动平移
								searchTypes: [
									BMAPLIB_TAB_SEARCH, //周边检索
									BMAPLIB_TAB_TO_HERE, //到这里去
									BMAPLIB_TAB_FROM_HERE //从这里出发
								]
							});
							//添加点击事件
							marker[i].addEventListener("click",
								(function(k) {
									// js 闭包
									return function() {
										//将被点击marker置为中心
										//map.centerAndZoom(point[k], 18);
										//在marker上打开检索信息窗口
										searchInfoWindow[k].open(marker[k]);
									}
								})(i)
							);
						}
					}
					//异步调用百度js
					function map_load() {
						var load = document.createElement("script");
						load.src = "http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR&callback=map_init";
						document.body.appendChild(load);
					}
					window.onload = map_load;
				</script>
			</fieldset>
		</div>
	</body>
</html>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值