zoukankan      html  css  js  c++  java
  • 路书

    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>中国传媒大学</title>
    <style type="text/css">
    html{height:100%}
    body{height:100%;margin:0px;padding:0px}
    #container{height:100%}
    </style>
    <script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=Oi0fQN3GNXe2vEWNGtBLZy2xtvZaYnd5">
    //v2.0版本的引用方式:src="http://api.map.baidu.com/api?v=2.0&ak=您的密钥"
    //v1.4版本及以前版本的引用方式:src="http://api.map.baidu.com/api?v=1.4&key=您的密钥&callback=initialize"
    </script>
    <script type="text/javascript" src="http://api.map.baidu.com/library/MarkerManager/1.2/src/MarkerManager_min.js"></script>
    <script type="text/javascript" src="./lib/liblushu.js"></script>
    </head>

    <body>
    <div id="map_container" style="1000px;height:640px;"></div>
    <button id="showAllAP">显示AP位置</button>
    <button id="hideAllAP">隐藏AP位置</button>
    <button id="run" >run</button>
    <button id="stop">stop</button>
    <button id="pause">pause</button>
    <button id="hide">hide infoWindow</button>
    <button id="show">show infoWindow</button>

    <script type="text/javascript">
    var map = new BMap.Map("map_container"); // 创建地图实例
    var pointCenter = new BMap.Point(116.564055,39.91873); // 创建地图中心点坐标
    map.centerAndZoom(pointCenter, 18); // 初始化地图,设置中心点坐标和地图级别

    //map.addControl(new BMap.NavigationControl()); //添加缩放控件
    //map.addControl(new BMap.MapTypeControl());
    map.enableScrollWheelZoom(); //添加鼠标缩放
    //map.addControl(new BMap.OverviewMapControl({isOpen:true,anchor:BMAP_ANCHOR_BOTTOM_RIGHT})); //添加缩略图控件

    var padding = 200;
    var mgr = new BMapLib.MarkerManager(map,{
    borderPadding: padding
    ,maxZoom: 18
    ,trackMarkers: true
    });

    var markersConfig = [{minZoom: 1, maxZoom: 10, markerCount:80 }
    ,{minZoom: 11, maxZoom: 12, markerCount:10 }
    ,{minZoom: 13, maxZoom: 15, markerCount:150 }
    ,{minZoom: 16, maxZoom: 17, markerCount:10 }
    ,{minZoom: 18, maxZoom: 19, markerCount:100 }
    ];

    var allAPMarkers = getAllAPMarker();
    mgr.addMarkers(allAPMarkers);
    for (var i = 0; i < allAPMarkers.length; i++) {
    allAPMarkers[i].setAnimation(BMAP_ANIMATION_DROP);
    };
    mgr.showMarkers();

    $("showAllAP").onclick = function(){
    mgr.show();
    }

    $("hideAllAP").onclick = function(){
    mgr.hide();
    }

    function getAllAPMarker(){

    var allAPPosition = [{log:116.560691,lat:39.920691}, {log:116.561149,lat:39.920698},
    {log:116.560736,lat:39.920263}, {log:116.561194,lat:39.920256}, //一餐厅
    {log:116.56379,lat:39.920857}, {log:116.563368,lat:39.920352},
    {log:116.564652,lat:39.920885}, {log:116.565092,lat:39.920415}, //图书馆
    {log:116.561113,lat:39.918457}, {log:116.561652,lat:39.918464},
    {log:116.561131,lat:39.918319}, {log:116.561661,lat:39.918333}, //三号楼
    {log:116.563772,lat:39.918941}, {log:116.56467,lat:39.918997},
    {log:116.56379,lat:39.918762}, {log:116.564715,lat:39.918796}, //教学楼
    {log:116.566997,lat:39.919626}, {log:116.568111,lat:39.919723},
    {log:116.567024,lat:39.919419}, {log:116.568147,lat:39.919481}]; //运动场

    var myIcon = new BMap.Icon("./img/ap.png", new BMap.Size(23, 25));

    var markers = [];
    for (var i = 0; i < allAPPosition.length; i++) {
    var e = new BMap.Point(allAPPosition[i].log, allAPPosition[i].lat);
    markers[i] = new BMap.Marker(e, {icon:myIcon});
    };

    return markers;
    }

    function $(id){
    return document.getElementById(id);
    }

    function getAllStationPoints(){
    var allAPPosition = [{log:116.561454,lat:39.918346}, //寝室
    {log:116.561104,lat:39.920346}, //食堂
    {log:116.564239,lat:39.920546}, //图书馆
    {log:116.564401,lat:39.918789}, //教学楼
    {log:116.567661,lat:39.919578}]; //运动场
    }


    //画点
    var point3 = new BMap.Point(116.561454,39.918346); //寝室
    var pointCafeteria = new BMap.Point(116.561104,39.920346); //食堂
    var pointLibrary = new BMap.Point(116.564239,39.920546); //图书馆
    var pointClassroom = new BMap.Point(116.564401,39.918789); //教学楼
    var pointPlayGround = new BMap.Point(116.567661,39.919578); //运动场

    var allStaPoints = [point3, //寝室
    pointCafeteria, //食堂
    pointLibrary, //图书馆
    pointClassroom, //教学楼
    pointPlayGround]; //运动场

    var stationMarkers = [];
    for (var i = 0; i < allStaPoints.length; i++) {
    stationMarkers[i] = new BMap.Marker(allStaPoints[i]);
    map.addOverlay(stationMarkers[i]);
    };

    //画线
    /*var polyline = new BMap.Polyline([
    point3,
    pointCafeteria,
    pointLibrary,
    pointClassroom,
    pointPlayGround
    ], {strokeColor:"blue", strokeWeight:3, strokeOpacity:0.5});
    map.addOverlay(polyline);*/


    var runIcon = new BMap.Icon("./img/bluestar.ico", new BMap.Size(30, 30));


    var lushu;
    var finishFlag = 0;
    var allWalkingPois = [];


    var walk = new BMap.WalkingRoute(map, {
    onSearchComplete: searchComplete
    });

    var i = 0;
    walk.search(allStaPoints[i], allStaPoints[i+1]);

    function searchComplete(res) {
    if (walk.getStatus() == BMAP_STATUS_SUCCESS) {
    var arrPois = res.getPlan(0).getRoute(0).getPath();
    allWalkingPois = allWalkingPois.concat(arrPois);
    finishFlag++;

    if (finishFlag == (allStaPoints.length-1)){
    map.addOverlay(new BMap.Polyline(allWalkingPois, {strokeColor: 'blue'}));
    map.setViewport(allWalkingPois);
    map.setZoom(18);
    map.setCenter(pointCenter);

    lushu = new BMapLib.LuShu(map,allWalkingPois,{
    defaultContent:"",
    //autoView:true,//是否开启自动视野调整,如果开启那么路书在运动过程中会根据视野自动调整
    icon : runIcon,
    speed: 100,
    enableRotation:true,//是否设置marker随着道路的走向进行旋转
    });
    }else{
    i++;
    walk.search(allStaPoints[i], allStaPoints[i+1]);
    }
    }
    }

    //绑定事件
    $("run").onclick = function(){
    lushu.start();
    }
    $("stop").onclick = function(){
    lushu.stop();
    }
    $("pause").onclick = function(){
    lushu.pause();
    }
    $("hide").onclick = function(){
    lushu.hideInfoWindow();
    }
    $("show").onclick = function(){
    lushu.showInfoWindow();
    }
    function $(element){
    return document.getElementById(element);
    }


    </script>
    </body>
    </html>

  • 相关阅读:
    2021年2月4号
    2021年2月3号
    2021年2月2号
    2021年2月1日
    2021年1月31日
    2021年1月30日
    20171205xlVBA往返航班组合
    选择文件
    从VBA过渡到Python
    20171114xlVba选定单行记录并打印
  • 原文地址:https://www.cnblogs.com/zhengchunhao/p/5559161.html
Copyright © 2011-2022 走看看