zoukankan      html  css  js  c++  java
  • JS 百度地图导航

    上一篇文章中我们就简单的学习了HTML5 地理定位,那么今天告诉大家我在项目中遇到的一个问题吧,就是怎么实现点击一个按钮就可以调到百度地图,并且获取到你当前的位置,并且导航到指定的地方去。

    不想看步骤的可以直接下载DEMO 下载

    一、获取目的地坐标

    打开百度地图API 鼠标点击拾取坐标网页,http://api.map.baidu.com/lbsapi/getpoint/index.html,通过先缩小再放大,定位到拾取坐标的建筑物。

    以北京的朝阳公园为例,定位如下:

    map01

    鼠标点击的位置就是朝阳公园的坐标:

    116.488543, 39.949804  //这分别表示经度和纬度。

    二、百度地图公交、驾车、步行导航

    导航接口为 :

    • http://api.map.baidu.com/direction //PC&Webapp服务地址

    具体的参数问题请看API:

    • http://developer.baidu.com/map/wiki/index.php?title=uri/api/web

    示例

    http://api.map.baidu.com/direction?origin=latlng:34.264642646862,108.95108518068|name:我家&destination=大雁塔&mode=driving&region=西安&output=html&src=yourCompanyName|yourAppName

    //调起百度PC或Web地图,展示”西安市”从(lat:34.264642646862,lng:108.95108518068 )”我家”到”大雁塔”的驾车
    路线。

    我在项目中要做的是获取当前的位置,然后导航到指定的项目如下:

    <script>
        var x=document.getElementById("demo");
        function getLocation(){
           if (navigator.geolocation){
               navigator.geolocation.getCurrentPosition(showPosition);
           }else{
               x.innerHTML="Geolocation is not supported by this browser.";
           }
        }
        function showPosition(position){
            x.innerHTML="Latitude: " + position.coords.latitude + "<br />Longitude: " + position.coords.longitude;
            window.location.href="http://api.map.baidu.com/direction?origin=latlng:"+position.coords.latitude+","+position.coords.longitude+"|name:我家&destination=侨鑫汇悦台&mode=driving&region=广州&output=html&src=yourCompanyName|yourAppName";
        }
     </script>

    很显然我们实现的就是两个步骤

    1. getLocation() —> JS 利用html5 地理定位功能,获取当前的经纬度
    2. showPosition()—>根据经纬度和百度API 拼接成自己的URL

    实现的效果如图所示

    未标题-1

    这个就是可以在移动端或者PC都可以实现的导航到指定位置的功能。

    PS: 其实这个功能比较简单,百度的API可以实现的功能很强大,有兴趣的伙伴可以自己去研究一下。需要 demo加QQ 自己下载吧,祝学习愉快。

    DEMO 下载

  • 相关阅读:
    python代写主题LDA建模和t-SNE可视化
    Python代写LDA主题模型算法应用
    R语言代写之文本分析:主题建模LDA
    Python代写商品数据预处理与K-Means聚类可视化分析
    matlab代写使用Copula仿真优化市场风险
    BZOJ 5495: [2019省队联测]异或粽子 可持久化trie+堆
    BZOJ 3689: 异或之 可持久化trie+堆
    BZOJ 4212: 神牛的养成计划 可持久化trie+trie
    BZOJ 2006: [NOI2010]超级钢琴 ST表+堆
    BZOJ 4103: [Thu Summer Camp 2015]异或运算 可持久化trie
  • 原文地址:https://www.cnblogs.com/aliyue/p/5566484.html
Copyright © 2011-2022 走看看