创建地图实例并创建中心点
var map = new BMap.Map("container"); // 创建地图实例
var point = new BMap.Point(113.61235, 34.804403); // 创建点坐标
map.centerAndZoom(point, 17); // 初始化地图,设置中心点坐标和地图级别
map.enableScrollWheelZoom(); //开启滚动缩放
map.enableContinuousZoom(); //开启缩放平滑
创建标注并设置标注文字
var marker = new BMap.Marker(point); //创建标注
map.addOverlay(marker); //添加标注
marker.enableDragging(); //标注可拖拽
var label = new BMap.Label("店铺位置", { offset: new BMap.Size(20, -10) });//设置文字信息
marker.setLabel(label); //设置标注文字
marker.enableMassClear(); //允许覆盖物被删除
添加标注拖动事件
function SetMove(marker) {//拖动坐标点更新坐标 marker为标注
marker.addEventListener("dragend", function (e) { //拖动事件
var pt = e.point;
$('#Point').val(e.point.lng + "/" + e.point.lat); //返回坐标
});
}
移除覆盖物
var allOverlay = map.getOverlays();//获取所有覆盖物
for (var i = 0; i < allOverlay.length; i++) {
if (allOverlay[i].toString() == '[object Polygon]') {//移除多边形覆盖物
map.removeOverlay(allOverlay[i]);
}
if (allOverlay[i].toString() == '[object Marker]') {//移除标注覆盖物
map.removeOverlay(allOverlay[i]);
}
map.clearOverlays(polygon);//清除所有
}
获取多边形所有坐标点
function getParam() {
var path = "";
for (var i = 0; i < polygon.getPath().length; i++) {
path += polygon.getPath()[i].lng + "/" + polygon.getPath()[i].lat + ",";
}
}
根据json数据设置路线图
var parse = $.parseJSON(data);
var p1 = new BMap.Point(parse.begin.lng, parse.begin.lat);//设置起始点
var p2 = new BMap.Point(parse.end.lng, parse.end.lat);//设置终点
var a = new Array();
$.each(parse.result, function (i) {
a.push(new BMap.Point(parse.result[i].lng, parse.result[i].lat));//获取途经点数组
})
//根据数据库中数据添加路线图
var driving = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true }});
driving.search(p1, p2, { waypoints: a.slice() }); //waypoints表示途经点
//根据数据库中数据添加折线
polygon = new BMap.Polyline(a.slice()
, { strokeColor: "blue", strokeWeight: 2, strokeOpacity: 0.5 }); //创建多边形
map.addOverlay(polygon); //增加多边形