app,pc都一样,如果是app加上这个会更好一点
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
首先百度高地地图,进入开放api部分,没有的话先注册账号。个人的,企业的都可以
然后点击控制台,应用管理部分创建一个应用,在这儿能获取到至关重要的key
之后贴入代码
<div id="container" style="display:none;"></div>
这个div容器要有,但是可以隐藏掉。
<script type="text/javascript" src="https://webapi.amap.com/maps?v=1.4.15&key=你添加应用产生的key值&plugin=AMap.ToolBar,AMap.Driving"></script>
这个是调用高德,引用key值后面的是插件,是需要有的
var map = new AMap.Map('container',{ resizeEnable: true, zoom: 11 }); var formattedAddress; var lng; var lat; var geolocation; map.plugin('AMap.Geolocation', function () { geolocation = new AMap.Geolocation({ enableHighAccuracy: true,//是否使用高精度定位,默认:true timeout: 10000, //超过10秒后停止定位,默认:无穷大 maximumAge: 0, //定位结果缓存0毫秒,默认:0 convert: true, //自动偏移坐标,偏移后的坐标为高德坐标,默认:true showButton: true, //显示定位按钮,默认:true buttonPosition: 'LB', //定位按钮停靠位置,默认:'LB',左下角 buttonOffset: new AMap.Pixel(10, 20),//定位按钮与设置的停靠位置的偏移量,默认:Pixel(10, 20) showMarker: true, //定位成功后在定位到的位置显示点标记,默认:true showCircle: true, //定位成功后用圆圈表示定位精度范围,默认:true panToLocation: true, //定位成功后将定位到的位置作为地图中心点,默认:true zoomToAccuracy:true //定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:false }); map.addControl(geolocation); geolocation.getCurrentPosition(); AMap.event.addListener(geolocation, 'complete', onComplete);//返回定位信息 AMap.event.addListener(geolocation, 'error', one rror); //返回定位出错信息 function onComplete (data) { // data是具体的定位信息 console.log(data) formattedAddress = data.formattedAddress; lng = data.position.lng; lat = data.position.lat; console.log("1355--"+formattedAddress+"--"+lng+"--"+lat); } function one rror (data) { // 定位出错 layer.msg("定位失败,可自行使用导航查询") } }); //map.addControl(geolocation); geolocation.getCurrentPosition() $("#Navigation").click(function(){ //layer.msg("该功能暂未开放"); var drivingOption = { policy: AMap.DrivingPolicy.LEAST_TIME, map:map, resizeEnable: true } var lngAt = lng+","+lat; console.log("1374--"+formattedAddress+"--"+lng+"--"+lat+"--"+lngAt); var driving = new AMap.Driving(drivingOption); console.log("1355--"+formattedAddress+"--"+lng+"--"+lat); driving.searchOnAMAP({ origin:lngAt, originName:formattedAddress, destination:"116.256633,39.860036", destinationName:"到达地方地名" }) })
这样既可完成