zoukankan      html  css  js  c++  java
  • 百度地图轨迹与标注窗口

    根据多个坐标添加百度地图的轨迹,并且点击每个标记(Marker)时弹出当前的标注窗口信息
      1 <!DOCTYPE html>
      2 <html>
      3 
      4 <head>
      5     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      6     <title>百度地图轨迹</title>
      7     <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=百度密匙"></script>
      8     <style type="text/css">
      9         #allmap {
     10             width: auto;
     11             height: 600px;
     12             border: 1px solid gray;
     13         }
     14         
     15         #user1 {
     16             top: 50px;
     17         }
     18         
     19         #user2 {
     20             top: 200px;
     21         }
     22         
     23         .user-list {
     24             right: 25px;
     25             position: fixed;
     26             border: 1px solid #c0c0c0;
     27             width: 180px;
     28             height: 110px;
     29             background: #fff;
     30             border-radius: 10px;
     31             filter: alpha(Opacity=80);
     32             -moz-opacity: 0.8;
     33             opacity: 0.8;
     34         }
     35         
     36         .user-list ul {
     37             list-style-type: none;
     38             padding-left: 10px;
     39         }
     40         
     41         .user-list ul li {
     42             padding-bottom: 10px;
     43         }
     44     </style>
     45 </head>
     46 
     47 <body>
     48     <form id="form1" runat="server">
     49         <div id="allmap"></div>
     50     </form>
     51     <div id="user1" class="user-list">
     52         <ul>
     53             <li>姓名:张三</li>
     54             <li>职务:3</li>
     55             <li>电话:123456</li>
     56         </ul>
     57     </div>
     58     <div id="user2" class="user-list">
     59         <ul>
     60             <li>姓名:李四</li>
     61             <li>职务:3</li>
     62             <li>电话:123456</li>
     63         </ul>
     64     </div>
     65     <script type="text/javascript">
     66         //百度地图API
     67         var map = new BMap.Map("allmap");
     68         map.centerAndZoom(new BMap.Point(116.404, 36.015), 6);
     69         map.enableScrollWheelZoom(true);                            //启动滚轮放大缩小
     70         map.addControl(new BMap.NavigationControl());               // 添加平移缩放控件
     71         map.addControl(new BMap.ScaleControl());                    // 添加比例尺控件
     72         map.addControl(new BMap.OverviewMapControl());              //添加缩略地图控件
     73         
     74         //百度地图轨迹坐标集  经度,纬度  或使用ajax后台读取
     75         var poinArr = [
     76                 new BMap.Point(106.521436, 29.532288),
     77                 new BMap.Point(108.983569, 34.285675),
     78                 new BMap.Point(116.404449, 39.920423),
     79                 new BMap.Point(123.432790, 41.808644),
     80                 ];
     81         
     82         //起点-重庆         106.521436, 29.532288
     83         //终点-西安         108.983569, 34.285675
     84         //终点-北京         116.404449, 39.920423
     85         //终点-沈阳         123.432790, 41.808644
     86         map.clearOverlays();                        //清除地图上所有的覆盖物
     87         var driving = new BMap.DrivingRoute(map);    //创建驾车实例
     88 
     89         for (var i = 1; i < poinArr.length; i++) {
     90             driving.search(poinArr[i - 1], poinArr[i]);
     91         }
     92         
     93         driving.setSearchCompleteCallback(function () {
     94             var pts = driving.getResults().getPlan(0).getRoute(0).getPath();    //通过驾车实例,获得一系列点的数组
     95             var polyline = new BMap.Polyline(pts);
     96             map.addOverlay(polyline);
     97             for (var i = 0; i < poinArr.length; i++) {
     98                 //创建标记
     99                 var marker = new BMap.Marker(poinArr[i]);
    100                 map.addOverlay(marker);
    101                 //创建标注窗口
    102                 showinfomessage(marker,map);
    103             }
    104         });
    105         function showinfomessage(marker,map){
    106             var infoWindow = new BMap.InfoWindow("姓名:张三</br>职务:3<br />电话:123456");
    107             marker.addEventListener("click", function () {
    108                 this.openInfoWindow(infoWindow);  
    109             });
    110         };
    111     </script>
    112 </body>
    113 
    114 </html>
    View Code
    效果演示:
  • 相关阅读:
    【Qt】Qt软件打包发布
    最大公约数最小公倍数
    random实现验证码
    sort 和sorted的 区别
    Python-内置数据结构之元组(tuple)
    BZOJ 1112 线段树
    POJ 1682 DP
    POJ 1671 第二类斯特林数
    BZOJ 1592 DP
    POJ 1636 DFS+DP
  • 原文地址:https://www.cnblogs.com/ttxbc/p/6604805.html
Copyright © 2011-2022 走看看