<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=18cfc0dbeaf7a8cead27ddaf88bac861"></script>
<script>
$(function () {
navigator.geolocation.getCurrentPosition(translatePoint); //定位
});
translateCallback = function (data){
if(data.status === 0) {
//data.points[0]为坐标对象,转换为str弹出显示测试
var str = JSON.stringify(data.points[0]);
//纬度为x
var x = data.points[0]['lng'];
//经度为y
var y = data.points[0]['lat'];
alert(x+','+y);
//实例化地图
var map = new BMap.Map("l-map");
//设置地图中心点和缩放等级
map.centerAndZoom(data.points[0], 11);
//新建地图标记,传入坐标对象
var marker = new BMap.Marker(data.points[0]);
//在地图上添加标记
map.addOverlay(marker);
//设置地图中心点
map.setCenter(data.points[0]);
//输出经纬度
$('#point').val(x + "," + y);
//
//map.centerAndZoom(data.points[0], 11);
//监听地图鼠标点击事件
map.addEventListener("click",function(e){
//把坐标添加到input里面
$('#point').val(e.point.lng + "," + e.point.lat);
});
//设置第一个坐标
var p1 = new BMap.Point(x,y);
//获取第二个坐标的值
var des = $('#pointval').val();
//新建数组
var dess = new Array();
//分隔数组为 经度和纬度
dess = des.split(',');
//设置第二个坐标
var p2 = new BMap.Point(dess[0],dess[1]);
//导航实例
var driving = new BMap.DrivingRoute(map, {renderOptions:{map: map, autoViewport: true}});
//在地图上显示坐标1和2的路线
driving.search(p1, p2);
}
}
function translatePoint(position) {
var y = position.coords.latitude; //经度
var x = position.coords.longitude; //纬度
var ggPoint = new BMap.Point(x,y);
//转换坐标
var convertor = new BMap.Convertor();
var pointArr = [];
pointArr.push(ggPoint);
convertor.translate(pointArr, 1, 5, translateCallback)
}
</script>
html:
<style type="text/css">
body, html,#allmap {width: 100%;height: 300px;margin:0;font-family:"微软雅黑";font-size:14px;}
#l-map{height:300px;width:100%;}
</style>
<div id="l-map"></div>