zoukankan      html  css  js  c++  java
  • 高德地图上万点轨迹实现

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>高德地图大批量数据(上万)画历史轨迹实现方案</title>
      <style>
        html,
        body,
        #container {
             100%;
            height: 100%;
            margin: 0px;
        }    
        #loadingTip {
            position: absolute;
            z-index: 9999;
            top: 0;
            right: 0;
            padding: 3px 10px;
            background: red;
            color: #fff;
            font-size: 13px;
        }
      </style>
    </head>
    <body>
      <div id="container">
        
      </div>
      <script type="text/javascript" src='//webapi.amap.com/maps?v=1.4.10&key=54a512472d8c31ba2f9c851b5236d5df'></script>
      <!-- UI组件库 1.0 -->
      <script src="//webapi.amap.com/ui/1.0/main.js?v=1.0.11"></script>
      <script type="text/javascript"> 
        var map = new AMap.Map('container', {
          resizeEnable: true,
          zoom: 18,
          center:[120.020496763587,29.202602899862274],
          mapStyle:'amap://styles/dark',  
          // zoom: 4
        });
        map.on('click',e=>{
          console.log(e);
        });
        let pathList={
          "list1":[
            [120.018225,29.203249],
            [120.019089,29.203277],
            [120.019131,29.202809],
            [120.018531,29.202256],
            [120.017715,29.202542],
            [120.017662,29.202954],
            [120.019314,29.20309],
            [120.018912,29.202495],
            [120.018037,29.201793],
            [120.017544,29.201868],
            [120.019099,29.202102],
            [120.017694,29.202491],
            [120.016814,29.202547],
            [120.017978,29.202214],
            [120.018407,29.202645],
            [120.018246,29.203174],
          ],
          "list2":[
            [120.0215589183569,29.203178858048272],
            [120.022116817832,29.20295409426316],
            [120.02178958833218,29.20244837394471],
            [120.0214516299963,29.20220956070484],
            [120.02111367166043,29.202476469583413],
            [120.02156428277493,29.20274806036053],
            [120.02107075631619,29.20281361664718],
            [120.02087763726712,29.202340673925015],
          ],
          "list3":[
            [120.01987587779757,29.202045668943786],
            [120.02044450610873,29.201521213547608],
            [120.01954864829776,29.201137235574073],
            [120.01951646178958,29.20168042350507],
            [120.02017628520724,29.20168042350507],
            [120.0209702190757,29.201029534176868],
            [120.01944135993722,29.20106699554525],
            [120.01970421642062,29.201460339086758],
            [120.02041231960055,29.201137235574073],
          ],
    
        }
        AMapUI.load(['ui/misc/PathSimplifier', 'lib/$'], function(PathSimplifier, $) {
            if (!PathSimplifier.supportCanvas) {
                alert('当前环境不支持 Canvas!');
                return;
            }
            var pathSimplifierIns2 = new PathSimplifier({
                zIndex: 100,
                //autoSetFitView:false,
                map: map, //所属的地图实例
                getPath: function(pathData, pathIndex) {
                    return pathData.path;
                },
                getHoverTitle: function(pathData, pathIndex, pointIndex) {
                    if (pointIndex >= 0) {
                        //point 
                        return pathData.name + ',点:' + pointIndex + '/' + pathData.path.length;
                    }
                    return pathData.name + ',点数量' + pathData.path.length;
                },
                renderOptions: {
                    renderAllPointsIfNumberBelow: -1, //绘制路线节点,如不需要可设置为-1
                    pathLineStyle: { //路线样式设置
                        lineWidth: 3,
                        strokeStyle: '#0091FF',
                        borderWidth: 0,
                        // borderStyle: '#eeeeee',
                        dirArrowStyle: false
                    },
                    // startPointStyle: { //起点
                    //     radius: 4,
                    //     fillStyle: '#109618',
                    //     lineWidth: 1,
                    //     strokeStyle: '#eeeeee',
                    // },
                    // endPointStyle: { //终点
                    //     radius: 4,
                    //     fillStyle: '#dc3912',
                    //     lineWidth: 1,
                    //     strokeStyle: '#eeeeee'
                    // },
    
                }
            });
            window.pathSimplifierIns = pathSimplifierIns2;
            //设置数据,模拟路线数据
            pathSimplifierIns2.setData([
              {
                name: '路线1',
                path: pathList.list1,
              },
              {
                name: '路线2',
                path: pathList.list2,
              },
              {
                name: '路线3',
                path: pathList.list3,
              },
            ]);
    
            //对第一条线路(即索引 0)创建一个巡航器
            for(let i=0;i<3;i++){
              let navg1 = pathSimplifierIns2.createPathNavigator(i, {
                  // loop: true, //循环播放
                  speed: 500, //巡航速度,单位千米/小时
                  pathNavigatorStyle: {
                     44,
                    height: 54,
                    //使用图片
                    content: PathSimplifier.Render.Canvas.getImageContent("https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=2567670815,24101428&fm=26&gp=0.jpg", onload, onerror),
                    strokeStyle: null,
                    fillStyle: null,
                    //经过路径的样式
                    pathLinePassedStyle: {
                        lineWidth: 3,
                        strokeStyle: '#53E19F',
                    }
                  }  
              });
              navg1.start();
            }
            
            // pathSimplifierIns2.setData([]);
        });
        // var stmarker = new AMap.Marker({
        //     map: map,
        //     position: [120.018225,29.203249], //基点位置
        //     icon: "https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1605073831460&di=6187250d41f02b38753bebaa9f773a8d&imgtype=0&src=http%3A%2F%2Fac-q.static.booking.cn%2Fimages%2Fhotel%2Fmax1024x768%2F111%2F111145520.jpg",
        //     zIndex: 10
        // });
        
      </script>
    </body>
    </html>
    
  • 相关阅读:
    POJ 3009
    POJ 3253
    POJ 3617
    POJ 3984
    UVA10012
    HDU5100
    HDU 5101
    UVA301 运输
    UVA 331 交换的方案数
    uva 10344 算23点
  • 原文地址:https://www.cnblogs.com/miaSlady/p/13964057.html
Copyright © 2011-2022 走看看