开发者社区> java牛> 正文

百度地图API显示多个标注点并添加百度样式检索窗口

简介:   1 DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
+关注继续查看
  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2 <html xmlns="http://www.w3.org/1999/xhtml">
  3 <head>
  4     <title>百度地图API显示多个标注点带百度样式信息检索窗口的代码</title>
  5     <!-- 原作博客地址:http://blog.csdn.net/a497785609/article/details/24009031 -->
  6     <!--css-->
  7     <link href="style/demo.css" rel="stylesheet" type="text/css" />
  8     <!--javascript-->
  9     <script src="scripts/jquery-1.9.1.js" type="text/javascript"></script>
 10     <script src="scripts/demo.js" type="text/javascript"></script>
 11 <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR"></script>
 12 <script type="text/javascript" src="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.js"></script>
 13 <link rel="stylesheet" href="http://api.map.baidu.com/library/SearchInfoWindow/1.5/src/SearchInfoWindow_min.css" />    
 14 </head>
 15 <body>
 16     <div class="demo_main">
 17         <fieldset class="demo_title">
 18             百度地图API显示多个标注点带提示的代码
 19         </fieldset>
 20         <fieldset class="demo_content">
 21             <div style="min-height: 300px; width: 100%;" id="map">
 22             </div>
 23             <script type="text/javascript">
 24                 var markerArr = [
 25                     { title: "名称:广州火车站", point: "113.264531,23.157003", address: "广东省广州市广州火车站", tel: "12306" },
 26                     { title: "名称:广州塔(赤岗塔)", point: "113.330934,23.113401", address: "广东省广州市广州塔(赤岗塔) ", tel: "18500000000" },
 27                     { title: "名称:广州动物园", point: "113.312213,23.147267", address: "广东省广州市广州动物园", tel: "18500000000" },
 28                     { title: "名称:天河公园", point: "113.372867,23.134274", address: "广东省广州市天河公园", tel: "18500000000" }
 29                 ];
 30                 function map_init() {
 31                     var map = new BMap.Map("map"); // 创建Map实例
 32                     var point = new BMap.Point(113.312213, 23.147267); //地图中心点,广州市
 33                     map.centerAndZoom(point, 13); // 初始化地图,设置中心点坐标和地图级别。
 34                     map.enableScrollWheelZoom(true); //启用滚轮放大缩小
 35                     //地图、卫星、混合模式切换
 36                     map.addControl(new BMap.MapTypeControl({mapTypes: [BMAP_NORMAL_MAP, BMAP_SATELLITE_MAP, BMAP_HYBRID_MAP]}));
 37                     //向地图中添加缩放控件
 38                     var ctrlNav = new window.BMap.NavigationControl({
 39                         anchor: BMAP_ANCHOR_TOP_LEFT,
 40                         type: BMAP_NAVIGATION_CONTROL_LARGE
 41                     });
 42                     map.addControl(ctrlNav);
 43                     //向地图中添加缩略图控件
 44                     var ctrlOve = new window.BMap.OverviewMapControl({
 45                         anchor: BMAP_ANCHOR_BOTTOM_RIGHT,
 46                         isOpen: 1
 47                     });
 48                     map.addControl(ctrlOve);
 49                     //向地图中添加比例尺控件
 50                     var ctrlSca = new window.BMap.ScaleControl({
 51                         anchor: BMAP_ANCHOR_BOTTOM_LEFT
 52                     });
 53                     map.addControl(ctrlSca);
 54  
 55                     var point = new Array(); //存放标注点经纬信息的数组
 56                     var marker = new Array(); //存放标注点对象的数组
 57                     var info = new Array(); //存放提示信息窗口对象的数组
 58                     var searchInfoWindow =new Array();//存放检索信息窗口对象的数组
 59                     for (var i = 0; i < markerArr.length; i++) {
 60                         var p0 = markerArr[i].point.split(",")[0]; //
 61                         var p1 = markerArr[i].point.split(",")[1]; //按照原数组的point格式将地图点坐标的经纬度分别提出来
 62                         point[i] = new window.BMap.Point(p0, p1); //循环生成新的地图点
 63                         marker[i] = new window.BMap.Marker(point[i]); //按照地图点坐标生成标记
 64                         map.addOverlay(marker[i]);
 65                         marker[i].setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画
 66               //显示marker的title,marker多的话可以注释掉
 67                         var label = new window.BMap.Label(markerArr[i].title, { offset: new window.BMap.Size(20, -10) });
 68                         marker[i].setLabel(label);
 69                         // 创建信息窗口对象
 70                         info[i] = "<p style=’font-size:12px;lineheight:1.8em;’>" + "</br>地址:" + markerArr[i].address + "</br> 电话:" + markerArr[i].tel + "</br></p>";
 71                         //创建百度样式检索信息窗口对象                       
 72                         searchInfoWindow[i] = new BMapLib.SearchInfoWindow(map, info[i], {
 73                                 title  : markerArr[i].title,      //标题
 74                                 width  : 290,             //宽度
 75                                 height : 55,              //高度
 76                                 panel  : "panel",         //检索结果面板
 77                                 enableAutoPan : true,     //自动平移
 78                                 searchTypes   :[
 79                                     BMAPLIB_TAB_SEARCH,   //周边检索
 80                                     BMAPLIB_TAB_TO_HERE,  //到这里去
 81                                     BMAPLIB_TAB_FROM_HERE //从这里出发
 82                                 ]
 83                             });
 84                         //添加点击事件
 85                         marker[i].addEventListener("click", 
 86                             (function(k){
 87                                 // js 闭包
 88                                 return function(){
 89                                     //将被点击marker置为中心
 90                                     //map.centerAndZoom(point[k], 18);
 91                                     //在marker上打开检索信息窗口
 92                                     searchInfoWindow[k].open(marker[k]);
 93                                 }
 94                             })(i)                            
 95                         ); 
 96                     }                  
 97                 }
 98                 //异步调用百度js
 99                 function map_load() {
100                     var load = document.createElement("script");
101                     load.src = "http://api.map.baidu.com/api?v=2.0&ak=IDvNBsejl9oqMbPF316iKsXR&callback=map_init";
102                     document.body.appendChild(load);
103                 }
104                 window.onload = map_load;
105             </script>
106         </fieldset>
107     </div>
108 </body>
109 </html>
若转载请注明出处!若有疑问,请回复交流!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
Android Studio进行APP设计调用百度地图API接口隐藏百度地图的logo方法
81 0
java调用百度地图API根据地理位置获取经纬度
由于我们是使用百度提供的地理API接口,所以事先我们需要创建百度账号,并创建百度应用(因为我们要用应用到的ak)~~~~ 偷偷的告诉你们…这是免费的哦不要钱的…
56 0
百度地图JavaScript API获取用户当前经纬度和详细地理位置,反之通过详细地理位置获取当前经纬度
百度地图JavaScript API获取用户当前经纬度和详细地理位置,反之通过详细地理位置获取当前经纬度
115 0
Springboot 整合百度地图 API
Springboot 整合百度地图 API
330 0
使用Angular8和百度地图api开发《旅游清单》
本文的目的是通过一步步实现一个旅游清单项目,让大家快速入门Angular8以及百度地图API。我们将收获: a. Angular8基本用法,架构 a. 使用百度地图API实现自己的地图应用 a. 解决调用百度地图API时的跨域问题 a. 对localStorage进行基础封装,进行数据持久化 a. material UI的使用
95 0
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
干货 | Python调用百度地图API获取各点的经纬度信息(两种方式)
911 0
百度地图API : 修改marker图标(icon)
百度地图API : 修改marker图标(icon)
755 0
百度地图API : 自定义标注图标
百度地图API : 自定义标注图标
274 0
百度地图API禁用点击景点弹出详细信息的方法
百度地图API禁用点击景点弹出详细信息的方法
278 0
百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图
原文:百度地图API二:根据标注点坐标范围计算显示缩放级别zoom自适应显示地图 版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/liusaint1992/article/details/50071613 上一文章讲了如何给地图添加点击事件做出不同的反应。
4341 0
+关注
java牛
善于分享,乐于分享
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CUDA Math API
立即下载
阿里云 API 精选手册(Alibaba Cloud API Playbook)
立即下载
重保场景及API安全指南
立即下载