100行代码实现两点线路地图

Posted shibataizi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了100行代码实现两点线路地图相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html>
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
        <title>高德地图api初体验</title>
        <style type="text/css">
            html,
            body,
            #container {
                width: 100%;
                height: 100%;
            }
        </style>
        <style type="text/css">
            #panel {
                position: fixed;
                background-color: white;
                max-height: 90%;
                overflow-y: auto;
                top: 10px;
                right: 10px;
                width: 280px;
            }

            #panel .amap-call {
                background-color: #009cf9;
                border-top-left-radius: 4px;
                border-top-right-radius: 4px;
            }

            #panel .amap-lib-driving {
                border-bottom-left-radius: 4px;
                border-bottom-right-radius: 4px;
                overflow: hidden;
            }
        </style>
        <link rel="stylesheet" href="https://a.amap.com/jsapi_demos/static/demo-center/css/demo-center.css" />
        <script src="https://a.amap.com/jsapi_demos/static/demo-center/js/demoutils.js"></script>
        <script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=ae24323514e4526432b636483930548e&plugin=AMap.Driving"></script>
        <script type="text/javascript" src="https://cache.amap.com/lbs/static/addToolbar.js"></script>
    </head>
    <body>


        <!-- 我的key:ae24323514e4526432b636483930548e
         一天6000总共次 每秒100次
         -->
        <div id="container"></div>
        <div id="panel"></div>
        <script type="text/javascript">
            // 定义一个驾车路线
            let 起点 = 天安门 //起点必须设置
            let 终点 = 悉尼歌剧院 //终点必须设置
            let 路过 = 北京东站 //可以为空 为空(‘‘)就没有路过的地方
            //基本地图加载
            var map = new AMap.Map("container", {
                resizeEnable: true,
                center: [116.397428, 39.90923], //地图中心点
                zoom: 13 //地图显示的缩放级别
            });
            //构造路线导航类
            var driving = new AMap.Driving({
                map: map,
                panel: "panel"
            });
            let fn = function() {

                // 根据起终点名称规划驾车导航路线

                // 数组第一个对象内是起点的名称 尽量多描述

                // 数组的第二个对象是终点的名称 , 尽量多描述
                driving.search([{
                        keyword: 起点,
                        city: 北京
                    },
                    {
                        keyword: 路过,
                        city: 北京
                    },
                    {
                        keyword: 终点,
                        city: 北京
                    }
                ], function(status, result) {
                    // result 即是对应的驾车导航信息,相关数据结构文档请参考  https://lbs.amap.com/api/javascript-api/reference/route-search#m_DrivingResult
                    if (status === complete) {
                        log.success(绘制驾车路线完成)
                    } else {
                        log.error(获取驾车数据失败: + result)
                    }
                });
            }

            fn()
        </script>
    </body>
</html>

话不多说直接上代码

朋友让实现一个功能在页面上输入两个地址,实现自动生成线路图,

小白白一个 看了好几个小时文档才弄出来,不过大多数的aip都差不多,多搞一段时间就明白了,还是时间太少啊

使用 ---

    建一个html页面,粘贴保存就能使用, 不过测试的话还行, 如果用的话还是要到高德地图开发者平台自己申请一个key码,替换过我的就可以了

以上是关于100行代码实现两点线路地图的主要内容,如果未能解决你的问题,请参考以下文章

如何计算百度地图上两点的距离

每当我运行我的片段时,这行代码 mapFragment.setRetainInstance(true);正在崩溃我的应用程序? [关闭]

如何在 python 中并行化以下代码片段?

高德地图——切换路线的不同实现(驾车公交骑行)

getSupportFragmentManager() 在活动扩展片段中未定义

谷歌地图不显示在片段中