<input type="text" id="long" name="">
<input type="button" id=st name="" value="获取经纬度">
<input type="button" id=count name="" value="开始计算总公里数">
<input type="text" id="page" name="">
<hr>
<input type="text" id="getCount" name="" value="0">
<script type="text/javascript" src="http://api.map.baidu.com/api?v=2.0&ak=400a824893d44142d2d08f9d3212b845"></script>
<script type="text/javascript" src="fa/lib/jquery.min.js"></script>
<script type="text/javascript">
// $.getJSON('http://api.map.baidu.com/geocoder/v2/?address=北京市海淀区上地十街10号&output=json&ak=您的ak&callback=showLocation', function (data) {
// console.log(data)
// })
var map = new BMap.Map('map');
map.centerAndZoom(new BMap.Point(116.404, 39.915), 12);
var geocoder = new BMap.Geocoder();
var longitude = 118.807395;
var latitude = 32.065315;
var count = 0;
// var getCount = [20791, 40568, 94709];
var getCount = [20791, 18515, 21290, 25728, 18447, 18423, 22689, 19503, 21844, 20277, 20592, 14644, 15283, 17302, 16175, 19803, 20132, 16650, 25252, 18309, 26274, 22941, 21701, 23667, 26307, 26049, 24729, 20802, 22966, 20200, 19651, 21382, 19904, 18107, 16798, 19718, 18218, 25214, 19855, 23225, 22374, 20508, 19757, 16214, 19633, 18085,
22066, 19285, 20307, 21769, 14711, 22753, 18455, 18871, 18459, 3504];
// 5493
// [1=>20791, 2=>18515, 3=>21290, 4=>25728, 5=>18447, 6=>18423, 7=>22689, 8=>19503, 9=>21844, 10=>20277,
// 11=>20592, 12=>14644, 13=>15283, 14=>17302, 15=>16175, 16=>19803 17=>20132, 18=>16650, 19=>25252 20=>18309,
// 21=>26274, 22=>22941, 23=>21701, 24=>23667, 25=>26307, 26=>26049, 27=>24729, 28=>20802, 29=>22966, 30=>20200
// 31=>19651, 32=>21382, 33=>19904, 34=>18107, 35=>16798, 36=>19718, 37=>18218, 38=>25214, 39=>19855, 40=>23225
// 41=>22374, 42=>20508, 43=>19757, 44=>16214, 45=>19633, 46=>18085, 47=>22066, 48=>19285, 49=>20307], 50=>21769
// 51=>14711, 52=>22753, 53=>18455, 54=>18871, 55=>18459, 56=>3504];
var page_no = 56;
var list = {};
var gongli = [];
$('#page').val(page_no);
// 获取根据城市获得经纬度
$('#st').click(function () {
// page_no++;
list['page'+page_no] = {};
$.get('index.php?app_act=api/tms/get_line_info&page_no='+page_no, function (data) {
//获取起始地址经纬度
var i = 0;
$.each(data.list, function (index, val) {
i++;
var pointStart = '';
var pointEnd = '';
var start = val.start.split(',')[0];
start = start.split('电话')[0];
start = start.replace('市辖区', '');
start = start.replace(' ', '');
var end = val.end.split(',')[0];
end = end.split('电话')[0];
end = end.replace('市辖区', '');
end = end.replace(' ', '');
val.start = start;
val.end = end;
geocoder.getPoint(start, function(point) {
// console.log(point)
if (point) {
// console.log(point.lng, point.lat)
// pointStart = new BMap.Point(point.lng, point.lat);
val.start_lng = point.lng;
val.start_lat = point.lat;
}
}, val.start);
geocoder.getPoint(end, function(point) {
// console.log(point)
if(point) {
// pointEnd = new BMap.Point(point.lng, point.lat);
val.end_lng = point.lng;
val.end_lat = point.lat;
}
}, val.end);
list['page'+page_no][index] = val;
// driving.search(val.start, val.end});
})
console.log('获取经纬数的个数', i)
}, 'json')
$('#st').val('获取经纬度 ok');
})
// 根据经纬度算驾车公里数
$('#count').click(function () {
var i = 0;
$.each(list['page'+page_no], function (index, val) {
var pointStart = '';
var pointEnd = '';
// 通过经纬点计算
pointStart = new BMap.Point(val.start_lng, val.start_lat);
pointEnd = new BMap.Point(val.end_lng, val.end_lat);
// var long = map.getDistance(pointStart, pointEnd)/1000;
var long = 0;
var options = {
onSearchComplete: function(results){
if (driving.getStatus() == BMAP_STATUS_SUCCESS){
console.log(i++, results.taxiFare.distance/1000);
long = results.taxiFare.distance/1000;
gongli.push(long);
count += long;
console.log(val.start, long)
}
},
renderOptions: {
map: map,
autoViewport: true
}
};
var driving = new BMap.DrivingRoute(map, options);
driving.search(pointStart, pointEnd);
})
$('#count').val('开始计算公里数 ok');
})
var cc = setInterval(function () {
$('#long').val(parseInt(count))
}, 1000)
getCount.forEach(function (val, key) {
var count = parseFloat($('#getCount').val());
$('#getCount').val(count + val);
})
$('#getCount').click(function () {
var count = 0;
gongli.forEach(function (val, key) {
count+=val;
})
console.log('公里数', gongli, '公里数个数', gongli.length)
console.log('count', count);
console.log('list', list['page'+page_no]);
var count2 = 0;
getCount.forEach(function (val, key) {
count2 += val;
})
console.log('总公里数', count2);
})
// setInterval(function () {
// page_no++;
// $('#page').val(page_no);
// gongli = [];
// getCount.push(count);
// count = 0;
// $('#st').click();
// setTimeout(function () {
// $('#count').click();
// }, 15000)
// }, 30000)
// var long = 0, i = 0;
// var options = {
// onSearchComplete: function(results){
// if (driving.getStatus() == BMAP_STATUS_SUCCESS){
// console.log('11', results.taxiFare.distance/1000);
// long = results.taxiFare.distance/1000;
// }
// },
// renderOptions: {
// map: map,
// autoViewport: true
// }
// };
// var p1 = new BMap.Point(120.45696, 31.972522);
// var p2 = new BMap.Point(120.022936, 30.68274);
// var driving = new BMap.DrivingRoute(map, options);
// driving.search(p1, p2);
</script>