1.官网api
http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html
示例
http://lbsyun.baidu.com/jsdemo.htm#i8_1
2.
初始化地图
var map = new BMap.Map("map", { enableMapClick: false });
map.centerAndZoom(new BMap.Point(lng, lat), 15);
map.enableScrollWheelZoom(); //启用滚轮放大缩小
var point = new BMap.Point(lng, lat);
var marker = new BMap.Marker(point); // 创建标注
map.addOverlay(marker);
3.浏览器定位
var geolocation = new BMap.Geolocation();
geolocation.getCurrentPosition(function(r){
if(this.getStatus() == BMAP_STATUS_SUCCESS){
var mk = new BMap.Marker(r.point);
map.addOverlay(mk);
map.panTo(r.point);
alert('您的位置:'+r.point.lng+','+r.point.lat);
}
else {
alert('failed'+this.getStatus());
}
},{enableHighAccuracy: true})
注:在pc端定位不准确,不能精确定位,暂时无解
4.路线规划
//公交路线
var driving = new BMap.TransitRoute(map, {
renderOptions: {
map: map,
panel: "t-result",//显示结果面板
autoViewport: true
},
});
var start = new BMap.Point(mk.point.lng,mk.point.lat);
var end = new BMap.Point(lng,lat);
driving.search(start, end);
5.地图隐藏后再显示,缩放级别定位不对
6.起始点搜索
//html
<div class="route_box">
<label class="item" for="start">起点:<input type="text" placeholder="请输入起点" class="typein" id="start"/></label>
<label class="item" for="zhongdian">终点:<input type="text" id="end" placeholder="请输入终点" value="郑老师唐冶分校" class="typein"/></label>
<span class="btn" onclick="seek()">查询</span>
</div>
function seek(){
map.clearOverlays(); //清除之前的路线
var end = document.getElementById("end").value;
var start = document.getElementById("start").value;
//从输入的起点到终点
search(start,end,BMAP_DRIVING_POLICY_LEAST_DISTANCE);
function search(start,end,route){
var driving = new BMap.TransitRoute(map, {renderOptions:{map: map,panel: "t-result", autoViewport: true},policy: route});
driving.search(start,end);
}
}