700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 百度地图路线规划onchange事件触发两次 冲突解决

百度地图路线规划onchange事件触发两次 冲突解决

时间:2022-09-29 17:53:05

相关推荐

百度地图路线规划onchange事件触发两次 冲突解决

var map = new BMap.Map("allmap",{enableMapClick:false});

map.centerAndZoom("福州市",12);

var point = new BMap.Point();

map.centerAndZoom(point, 12);

map.enableScrollWheelZoom(); //启用滚轮放大缩小,默认禁用

map.enableContinuousZoom(); //启用地图惯性拖拽,默认禁用

var add1,add2;

//获取发件地址

{//规划路线

var searchComplete = function (results){

if (transit.getStatus() != BMAP_STATUS_SUCCESS){

return ;

}

var plan = results.getPlan(0);

var dis=plan.getDistance(true); //获取距离

$("#gdInstance").val(dis);

calFreight();

}

var transit = new BMap.DrivingRoute(map, {renderOptions: {map: map},

onSearchComplete: searchComplete,

onPolylinesSet: function(){

}});

}

function getStart(dd){

var add="福建省福州市"+$("#sendDistrict").val();

/* var add="福建省福州市"+$("#sendDistrict").val(); */

map.clearOverlays(); //清除地图上所有覆盖物

function myFun(){

add1=local.getResults().getPoi(0).point;

console.log("getStart");

console.log(add1);

map.centerAndZoom(add1,18);

map.addOverlay(new BMap.Marker(add1)); //添加标注

if(add2!=null&&add1!=null){

//规划路线

transit.search(add1, add2);

}

}

var local = new BMap.LocalSearch(map, { //智能搜索

onSearchComplete: myFun

});

local.search(add+dd);

}

//获取收件地址

function getEnd(dd){

var add="福建省福州市"+$("#recDistrict").val();

/* var add="福建省福州市"+$("#sendDistrict").val(); */

map.clearOverlays(); //清除地图上所有覆盖物

function myFun(){

add2=local.getResults().getPoi(0).point;

console.log("gdEnd");

console.log(add2);

map.centerAndZoom(add2,18);

map.addOverlay(new BMap.Marker(add2)); //添加标注

if(add2!=null&&add1!=null){

//规划路线

transit.search(add1, add2);

}

}

var local = new BMap.LocalSearch(map, { //智能搜索

onSearchComplete: myFun

});

local.search(add+dd);

}

/***************************************************************************************/

// 百度地图API功能

function G(id) {

return document.getElementById(id);

}

var ac = new BMap.Autocomplete( //建立一个自动完成的对象

{"input" : "gdAddstart"

,"location" : map

});

ac.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件

var str = "";

var _value = e.fromitem.value;

var value = "";

if (e.fromitem.index > -1) {

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;

value = "";

if (e.toitem.index > -1) {

_value = e.toitem.value;

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;

G("searchResultPanel").innerHTML = str;

});

var myValue;

ac.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件

console.log("123");

var _value = e.item.value;

myValue = _value.province + _value.city + _value.district + _value.street + _value.business;

G("searchResultPanel").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue;

setPlace();

console.log("执行完后");

console.log(add1);

});

function setPlace(){

map.clearOverlays(); //清除地图上所有覆盖物

function myFun(){

var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果

add1=pp;

map.centerAndZoom(pp, 18);

map.addOverlay(new BMap.Marker(pp)); //添加标注

getDistance();

}

var local = new BMap.LocalSearch(map, { //智能搜索

onSearchComplete: myFun

});

local.search(myValue);

}

/*********************************************************************************/

var ac2 = new BMap.Autocomplete( //建立一个自动完成的对象

{"input" : "gdAddend"

,"location" : map

});

ac2.addEventListener("onhighlight", function(e) { //鼠标放在下拉列表上的事件

var str = "";

var _value = e.fromitem.value;

var value = "";

if (e.fromitem.index > -1) {

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str = "FromItem<br />index = " + e.fromitem.index + "<br />value = " + value;

value = "";

if (e.toitem.index > -1) {

_value = e.toitem.value;

value = _value.province + _value.city + _value.district + _value.street + _value.business;

}

str += "<br />ToItem<br />index = " + e.toitem.index + "<br />value = " + value;

G("searchResultPanel2").innerHTML = str;

});

var myValue2;

ac2.addEventListener("onconfirm", function(e) { //鼠标点击下拉列表后的事件

var _value = e.item.value;

myValue2 = _value.province + _value.city + _value.district + _value.street + _value.business;

G("searchResultPanel2").innerHTML ="onconfirm<br />index = " + e.item.index + "<br />myValue = " + myValue2;

setPlace2();

});

function setPlace2(){

map.clearOverlays(); //清除地图上所有覆盖物

function myFun(){

var pp = local.getResults().getPoi(0).point; //获取第一个智能搜索的结果

add2=pp;

map.centerAndZoom(pp, 18);

map.addOverlay(new BMap.Marker(pp)); //添加标注

getDistance();

}

var local = new BMap.LocalSearch(map, { //智能搜索

onSearchComplete: myFun

});

local.search(myValue2);

}

/*********************************************************************************/

//获取运输距离

function getDistance(){

if(add2!=null&&add1!=null){

transit.clearResults();

transit.search(add1, add2);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。