终点数据格式
//终点医院数据; var endData = [ {id: 0, name: '南京市第一医院', lng: 118.79073, lat: 32.023645}, {id: 1, name: '南京市红十字医院', lng: 118.798598, lat: 32.033747}, {id: 2, name: '南京京科医院', lng: 118.789758, lat: 32.092045}, {id: 3, name: '南京市中医院', lng: 118.81419, lat: 32.001842}, {id: 4, name: '南京大学医院', lng: 118.788766, lat: 32.059918}, {id: 5, name: '南京军区南京总医院-急诊', lng: 118.814825, lat: 32.046949}, {id: 6, name: '南京京都医院', lng: 118.801374, lat: 32.040321}, {id: 7, name: '南京医药', lng: 118.811702, lat: 32.001405}, {id: 8, name: '南京市中心医院', lng: 118.802974, lat: 32.06216}, {id: 9, name: '南京东南眼科医院', lng: 118.838429, lat: 32.042146}, ];
单击地图获取起点位置
map.addEventListener("click", function (e) { geocoder.getLocation(e.point, function (rs) { $("#start").val(rs.address + "," + rs.point.lng + "," + rs.point.lat); }); });
封装获取距离和时间的函数
//获取距离和时间; function getDis(sname, lng1, lat1, ename, lng2, lat2) { map.clearOverlays(); var output = "起点:" + sname + "至 终点:" + ename + " 时间:"; var searchComplete = function (results) { if (transit.getStatus() != BMAP_STATUS_SUCCESS) { return; } var plan = results.getPlan(0); output += plan.getDuration(true) + "\n"; output += "总路程为:"; output += plan.getDistance(true) + "\n"; } var transit = new BMap.DrivingRoute(map, { renderOptions: {map: map}, onSearchComplete: searchComplete, onPolylinesSet: function () { $("#info").html(output); } }); var start = new BMap.Point(lng1, lat1); var end = new BMap.Point(lng2, lat2); transit.search(start, end); }
lockdatav Done!