百度地图多个坐标连成轨迹

6 篇文章 0 订阅
背景:平时app端上传时会由于各种原因,上传的坐标点可能不是完整的。
解决方案:两两坐标点建立连接,最终组成一个完整的轨迹!
参考:
[url]http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html[/url] (js api)
[url]http://lbsyun.baidu.com/jsdemo.htm#i5_2[/url] (主要原理)
[url]http://www.cnblogs.com/wujy/p/3897501.html[/url] (这位兄弟写的好详细,主要参考他这边的 :idea: )


var data = [
[119.307268,26.087294],
[119.300908,26.085607],
[119.299399,26.089598],
[119.305363,26.092161]
];

// 根据轨迹点,两两连线,最终合成一条完整的轨迹
function showMap() {
var abc = $(data);
var chartData = [];
$.each(abc, function (item, value) {
chartData.push(new BMap.Point(value[0], value[1]));
})
for (var i = 0; i < chartData.length-1; i++) {
var startPoint = chartData[i];
var endPoint = chartData[i + 1];
showPath(startPoint, endPoint,i==0,i==chartData.length-2);
}
}

// 两个坐标点连线
function showPath(startPoint, EndPoint,displayStartIcon,displayEndIcon){

var walking = null;
if(displayStartIcon && !displayEndIcon){ // 第一个起点只展示起点图标
walking = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true },onMarkersSet:function(routes) {map.removeOverlay(routes[1].marker);}});
}else if(!displayStartIcon && !displayEndIcon){//中间的起点终点不展示起点、终点图标
walking = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true },onMarkersSet:function(routes) {map.removeOverlay(routes[0].marker);map.removeOverlay(routes[1].marker);}});
}else{// 最后一个终点只展示终点图标
walking = new BMap.DrivingRoute(map, { renderOptions: { map: map, autoViewport: true },onMarkersSet:function(routes) {map.removeOverlay(routes[0].marker);}});
}

walking.search(startPoint, EndPoint);
}


截图:
[img]http://dl2.iteye.com/upload/attachment/0124/0699/ccda14d6-c226-3ef4-8c10-eaabc1b99ae1.png[/img]

[img]http://dl2.iteye.com/upload/attachment/0124/0701/e40df7e5-32ca-30ee-9e4d-30ee3292292c.png[/img]


附:百度轨迹查询若参数有传纠偏(is_process=1&process_option=[...]),返回的数据定位时间有的可能会重复,要根据loc_time剔重下!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值