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 下载

  • 相关阅读:
    用于图片处理的10个超级jQuery插件
    [VS2010].NET4.0环境下使用.NET2.0程序集,出现“混合模式程序集异常”
    对企业虚拟化应用的一些感受[原创]
    留学生不回国:中国物价超美国 没车没房没尊严!
    Research Assembly Setting!
    [转] 微软的软件测试方法(附读后感)
    应用 ZedGraph
    [转] LOGIGEAR SECURITY POLICIES
    一道程序运行结果题
    VS05 与 VS08并存时编译出现 The binding handle is invalid.
  • 原文地址:https://www.cnblogs.com/aliyue/p/5566484.html
Copyright © 2011-2022 走看看