JS 百度地图导航

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

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

一、获取目的地坐标

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

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

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

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

实现的效果如图所示

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

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

DEMO 下载

时间: 2024-08-08 18:00:13

JS 百度地图导航的相关文章

百度地图导航算路成功但是无法进入导航页面

百度地图导航算路成功但是无法进入导航页面Warning: Attempt to present <UINavigationController: 0x163852800> on <UIViewCont 在导航页面.m中增加 -(id)naviPresentedViewController { return self; }

2017 计蒜之道 复赛 Windows画图+百度地图导航

因为没有休息好, 打着很异常难受的一场比赛,坚持了一个半小时就撤了. Windows画图:签到题,没什么说的. #include<cstdio> #include<cstdlib> #include<cstring> #include<string> #include<algorithm> #include<iostream> #include<queue> #include<map> #include<

高德地图百度地图导航坐标转换

项目中的定位商家服务搜索用的是高德地图,毕竟高德在地图这块做的比百度好(个人认为).这里吐槽下百度的开发平台,上面开发文档及案例写的真不好,想找某个问题点很难找到和定位,希望百度改善下. 高德转百度(火星坐标gcj02ll–>百度坐标bd09ll) private double[] gaoDeToBaidu(double gd_lon, double gd_lat) { double[] bd_lat_lon = new double[2]; double PI = 3.141592653589

实现百度地图导航Demo的语音播报功能

上文中实现了在本地导入百度地图导航Demo,那么在此基础上如何实现导航的语音播报呢? 一.为该应用申请语音播报(也叫注册) http://developer.baidu.com/map/index.php?title=android-navsdk/guide/voice SDK内置百度TTS语音播报功能,需要对应用进行授权验证才能够使用,因此需要主动注册应用相关信息. 第一步:如果不是LBS开放平台的注册开发者,首先需要登录LBS开放平台进行应用注册,在工程配置的AndroidManifest中

JS 百度地图 换地图主题颜色(自定义)

JS 百度地图 换地图主题颜色(自定义) <div id="allmap"></div> 自定义主题文件: var mapStyleBrown =[{ "featureType": "land", "elementType": "geometry", "stylers": { "color": "#0b1b2bff" } }

JS 百度地图-右键菜单

JS 百度地图-右键菜单 /*-----------------标注右键删除-------------------------*/ var markerMenu = new BMap.ContextMenu(); markerMenu.addItem(new BMap.MenuItem('删除标注 ', function () { map.removeOverlay(marker); })) marker.addContextMenu(markerMenu); 原文地址:https://www.

自定义百度地图导航控件

百度地图js版 的导航控件按钮,在webapp有几点问题 1 不好点击,也就是点不中 2 不能置灰,也就是说当缩小到最小的时候,按钮应该为灰色,反之放大到最大也该为灰色 基于以上2点,自定一下,其实很简单,目的在于可以自己来控制 代码如下 1 /** 2 *@ NavControl 3 */ 4 var NavControl = 5 /** 6 * NavControl 7 * @class 8 * @constructor 9 * @param {Map} map 地图的一个实例. 10 *

百度地图导航问题

1.Q:工程配置问题及编译无法通过的问题请优先参考以下链接: A:请按以下链接对工程进行必要配置 http://developer.baidu.com/map/i - dk/guide/helloworld 2.Q:未通过授权,暂不能使用百度导航SDK: A:1)确保已在网上申请过AK.http://lbsyun.baidu.com/apiconsole/key?application=key 2)在官方demo上试一下能否通过授权(此过程中请保持网络畅通) 3)如果官方demo出现授权不成功,

iOS开发之百度地图导航

本篇主要讲述百度地图的导航功能: 第一步:在使用百度导航之前,我们需要在百度地图开放平台上下载导航的 SDK,共85.8M,网速不好的同学可提前准备好. 第二步:引入导航所需的系统包 将AudioToolbox.framework.ImageIO.framework.CoreMotion.framework.CoreLocation.framework.CoreTelephony.framework.MediaPlayer.framework.AVFoundation.framework.Sys