900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > php 百度地图范围搜索 Vue 使用百度地图 实现搜索 定位

php 百度地图范围搜索 Vue 使用百度地图 实现搜索 定位

时间:2020-07-04 13:35:22

相关推荐

php 百度地图范围搜索 Vue 使用百度地图 实现搜索 定位

要求能定位到国外 及 查看了文档 百度支持东南亚大部分地区 满足需求 从而使用百度地图

当前选中:{{mapPointName}}

确认

geoc= null;

exportdefault{

name:"addHospital",

data() {return{

dialogMap:false,

mapName:"",

mapPointName:"",

loading:true,

mapGetshow:true,

dialogName:""};

},

created() {this.mapBuild()},

methods: {//搜索地图

mapNameChange() {

let that= this,

point,

marker= null;

let local= newBMap.LocalSearch(map, {

renderOptions: { map: map },

onSearchComplete: res=>{if (local.getResults() !=undefined) {

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

if (local.getResults().getPoi(0)) {

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

map.centerAndZoom(point, 10);

marker= new BMap.Marker(point); //创建标注

map.addOverlay(marker); //将标注添加到地图中

marker.enableDragging(); //可拖拽

geoc.getLocation(point, function(rs) {var addComp =rs.addressComponents;

console.log(addComp);

that.mapPointName=addComp.province+

", " +addComp.city+

", " +addComp.district+

", " +addComp.street+

", " +addComp.streetNumber;

});

}else{

alert("未匹配到地点!可拖动地图上的红色图标到精确位置");

}

}else{

alert("未找到搜索结果");

}

}

});

local.search(this.mapName);

},//地图显示

mapBuild() {

let that= this;this.dialogMap = !this.dialogMap;

setTimeout(function() {if(that.mapGetshow) {

map= new BMap.Map("container");

geoc= newBMap.Geocoder();

let point= new BMap.Point(116.3964, 39.9093);

map.centerAndZoom(point,10);

map.enableScrollWheelZoom();var geolocation = newBMap.Geolocation();//定位

geolocation.getCurrentPosition(

r=>{

console.log(r);var mk = newBMap.Marker(r.point);

map.addOverlay(mk);

map.panTo(r.point);

geoc.getLocation(r.point,function(rs) {var addComp =rs.addressComponents;

console.log(addComp);

that.mapPointName=addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber;

that.loading= false;

that.mapGetshow= false;

});

},

{ enableHighAccuracy:true}

);//鼠标点击

map.addEventListener("click", function(e) {

console.log(e);var pt =e.point;var marker = new BMap.Marker(pt); //创建标注

map.clearOverlays();

map.addOverlay(marker);

geoc.getLocation(pt,function(rs) {var addComp =rs.addressComponents;

console.log(addComp);

that.mapPointName=addComp.province+addComp.city+addComp.district+addComp.street+addComp.streetNumber;

});

});

}

},1000);

}

}

};

.addHospital {

width:100%;

height:100%;

.map {

padding: 10px;

.input-with-select {

}

.map-btn {

padding: 10px 20px;

margin: auto;

text-align: right;

button {

padding: 12px 30px;

}

}

}

}

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