• 高德地图API之步行路线


    步行路线

    引入插件 AMap.Walking

    <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });    
    
            //使用插件
            new AMap.Walking({
                map:map,
                panel:"panel"
            }).search([
                {keyword:"宁波大学",city:"宁波"},
                {keyword:"汽车东站",city:"宁波"}
            ],function(status,data){
                console.log(data);
            });
    
        </script>    
    </body>
    </html>

    输入起点和终点,点击按钮规划路线

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
            #search{position: absolute;width:200px;height:100px;top:10px;left:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
        <div id="search">
            起点<input type="text" id="node1"><br>
            终点<input type="text" id="node2"><br>
            <button id="btn">开始导航</button>
        </div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });   
    
            // 给起点和终点添加自动补全功能
            new AMap.Autocomplete({
                input:"node1"
            }) 
            new AMap.Autocomplete({
                input:"node2"
            }) 
    
            btn.onclick=function(){
                //使用插件
                new AMap.Walking({
                    map:map,
                    panel:"panel"
                }).search([
                    {keyword:node1.value,city:"宁波"},
                    {keyword:node2.value,city:"宁波"}
                ],function(status,data){
                    console.log(data);
                });
            }
            
    
        </script>    
    </body>
    </html>

    通过经纬度来进行导航

    实现鼠标点击两个地址,自动进行导航

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
            #search{position: absolute;width:200px;height:100px;top:10px;left:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });   
            
            var i=0,arr=[];
            map.on("click",function(e){
                i++;
                console.log(i);
                
                if(i%2==1){
                    arr=[e.lnglat.R,e.lnglat.Q];
                    
                }else{
                    //使用插件
                    new AMap.Walking({
                        map:map,
                        panel:"panel"
                    }).search(new AMap.LngLat(arr[0],arr[1]),new AMap.LngLat(e.lnglat.R,e.lnglat.Q),function(status,data){
                        console.log(data);
                    });                
                }
            })
            
    
        </script>    
    </body>
    </html>

    常规用法

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
            #search{position: absolute;width:200px;height:100px;top:10px;left:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });   
            console.log(map.getCenter().toString());//121.549792,29.868388
    
            new AMap.Walking({
                map:map,
                panel:"panel"
            }).search([121.549792,29.868388],[121.549792,29.468388],function(status,data){
                console.log(data);
            });  
            
    
        </script>    
    </body>
    </html>

    注意:如果是大于两个定位点,不能直接添加第三个,会报错

    search中传的数组只能传2个

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
            #search{position: absolute;width:200px;height:100px;top:10px;left:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });   
            console.log(map.getCenter().toString());//121.549792,29.868388
    
            new AMap.Walking({
                map:map,
                panel:"panel"
            }).search([121.549792,29.868388],[121.549792,29.468388],[121.549792,29.368388],function(status,data){
                console.log(data);
            });  
            
    
        </script>    
    </body>
    </html>

    正确的多点规划做法:(在每个定位点外面用再用数组括号包起来)

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>map</title>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ce3b1a3a7e67fc75810ce1ba1f83c01a&plugin=AMap.Walking,AMap.Autocomplete"></script> 
        <style>
            *{margin:0;padding:0;list-style: none;}
            #container {width:100%; height: 100%;top:0;left:0;position: absolute; }  
            #panel{position: fixed;width:280px;top:10px;right:10px;background-color: #fff;}
            #search{position: absolute;width:200px;height:100px;top:10px;left:10px;background-color: #fff;}
        </style>
    </head>
    <body>
        <div id="container"></div> 
        <div id="panel"></div>
    
        <script>
            var map=new AMap.Map("container",{
                zoom:11
            });   
            console.log(map.getCenter().toString());//121.549792,29.868388
    
            new AMap.Walking({
                map:map,
                panel:"panel"
            }).search([[121.549792,29.868388],[121.549792,30.468388],[121.549792,31.368388]],function(status,data){
                //console.log(data);
            });  
            
    
        </script>    
    </body>
    </html>

    现在无效了,我估计因为版本迭代被取消了吧!!!

  • 相关阅读:
    我的DBDA类文件
    登录时的验证码怎么写?
    phpcms 制作简单企业站的常用标签
    HTML 基础知识
    目标
    split函数的实现
    myString操作符重载
    cout中的执行顺序_a++和++a
    二叉树的层次遍历法
    树的前中序遍历_求后续遍历
  • 原文地址:https://www.cnblogs.com/chenyingying0/p/12436204.html
Copyright © 2020-2023  润新知