百度地图上添加多个标记,标记上添加信息展示窗口、跳转到导航界面

结果如下:

代码如下:

 1 <html lang="en">
 2 <head>
 3     <title>地图上瞄点</title>
 4     <metcharset=utf-8">
 5     <script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=此处替换为自己在百度地图api中申请的ak值&s=1"></script>
 6 </head>
 7 <body style="background:#CBE1FF">
 8     <div style="width:730px;margin:auto;">
 9         <div id="container"
10          style="width: 730px;height: 680px;border: 1px solid gray;">
11         </div>
12     </div>
13 </body>
14 <script type="text/javascript">
15     var map = new BMap.Map("container");
16     // map.centerAndZoom("青岛", 10);
17     map.centerAndZoom(new BMap.Point(120.32,36.39),10)
18     map.enableScrollWheelZoom();    //启用滚轮放大缩小,默认禁用
19     map.enableContinuousZoom();    //启用地图惯性拖拽,默认禁用
20 
21     map.addControl(new BMap.NavigationControl());  //添加默认缩放平移控件
22     map.addControl(new BMap.OverviewMapControl()); //添加默认缩略地图控件
23     map.addControl(new BMap.OverviewMapControl({ isOpen: true, anchor: BMAP_ANCHOR_BOTTOM_RIGHT }));   //右下角,打开
24 
25     var localSearch = new BMap.LocalSearch(map);
26     localSearch.enableAutoViewport(); //允许自动调节窗体大小
27 
28 
29     function searchByStationName() {
30         var index = '';
31         map.clearOverlays();//清空原来的标注
32         var keyword =['青岛市民中心(市南区福州南路17,27号)',
33         '市北区敦化路328号诺德广场A座5楼',
34         '李沧区京口路47号百通大厦7楼',
35         '崂山区海尔路182-8号半岛国际大厦5楼',
36         '城阳区正阳路205号B座6楼',
37         '黄岛区长江东路313号',
38         '黄岛区双珠路399号光大商务中心3楼',
39         '即墨区蓝鳌路788号德馨大厦3楼',
40         '胶州市澳门路333号天泰金融广场4号楼10楼',
41         '平度市红旗路23号鼎峰大厦6楼',
42         '莱西市长岛路156号交通银行3楼'];
43         localSearch.setSearchCompleteCallback(function (searchResult) {
44             var poi = searchResult.getPoi(0);
45             //输出poi,可根据poi中的值进行获取标记点的经纬度等内容。
46             console.log(poi)
47 
48             // map.centerAndZoom(poi.point, 10); //可根据标记修改地图的中心和zoom大小;
49             var marker = new BMap.Marker(new BMap.Point(poi.point.lng, poi.point.lat));  // 创建标记
50             map.addOverlay(marker);
51 
52             marker.addEventListener("click", function () {
53                 //content中为展示信息窗口中的内容
54                 var content = poi.title + "<br/><br/>经度:" + poi.point.lng + "<br/>纬度:" + poi.point.lat;
55                 var infoWindow = new BMap.InfoWindow("<p style='font-size:14px;'>" + content + "</p>");
56                 //打开信息窗口
57                 this.openInfoWindow(infoWindow);
58                 //进入导航页面,现起始点是已知的,未进行定位操作,第一个origin后为起始点,destination后为导航的终点,第二个origin后为所在城市
59                 // window.open(encodeURI("http://api.map.baidu.com/direction?origin=中山公园&destination="+ poi.title +"&mode=driving&region=青岛&output=html&src=webapp.baidu.openAPIdemo"),'_blank');
60             });
61             //marker跳动的动画
62             // marker.setAnimation(BMAP_ANIMATION_BOUNCE);
63          });
64 
65         // localSearch.search(keyword);//当标记点为一个点,keyword为位置字符串
66 
67         //标记点为多个点,keyword为列表。
68         for(var i = 0;  i< keyword.length;i ++){
69             index = i;
70             localSearch.search(keyword[i]);
71         }
72     }
73 
74     //调用函数,在地图上添加marker标记
75     searchByStationName();
76 </script>
77 </html>

 

posted on 2021-02-01 17:11  青小记  阅读(1291)  评论(0编辑  收藏  举报