详解vue实现坐标拾取器功能示例
更新时间:2020年11月18日 10:49:43 作者:Winner_X
这篇文章主要介绍了详解vue实现坐标拾取器功能示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
需求
1、搜索具体地址,自动填写经纬度,并在地图上标记

2、点击地图上一点,可重新填写经纬度并且标记
代码
在dom新建div渲染地图
<el-form-item label="店铺地址" prop="address"> <el-input v-model="fristForm.address"></el-input> <el-input class="long-lat" v-model="fristForm.longitude" placeholder="经度" ></el-input> <el-input class="long-lat" v-model="fristForm.latitude" placeholder="纬度" ></el-input> <el-button size="mini" type="primary" @click="searchKeyword" >搜索</el-button > </el-form-item> <span class="changeAddress">点击地图更换分店定位地址</span> <!-- 渲染地图的div容器 --> <div id="container" class="mapbox"></div>
js定义地图变量并设置需求
var searchService,geocoder,map,markersArray = [];
<script>
export default {
mounted() {
this.init();
},
methods:{
init() {
var that = this;
var center = new qq.maps.LatLng(39.916527, 116.397128);
var map = new qq.maps.Map(document.getElementById("container"), {
center: center,
zoom: 13
});
var latlngBounds = new qq.maps.LatLngBounds();
qq.maps.event.addListener(map, "click", function(event) {
console.log(event);
that.fristForm.longitude = event.latLng.getLng(); // 经度
that.fristForm.latitude = event.latLng.getLat(); // 纬度
if (markersArray) {
for (let i in markersArray) {
markersArray[i].setMap(null);
}
}
var marker = new qq.maps.Marker({
map: map,
position: event.latLng
});
markersArray.push(marker);
});
geocoder = new qq.maps.Geocoder({
complete: function(result) {
console.log(result);
that.fristForm.longitude = result.detail.location.lng;
that.fristForm.latitude = result.detail.location.lat;
map.setCenter(result.detail.location);
var marker = new qq.maps.Marker({
map: map,
position: result.detail.location
});
markersArray.push(marker);
}
});
},
},
// 搜索地址
searchKeyword() {
var keyword = this.fristForm.address;
this.clearOverlays(markersArray);
//根据输入的城市设置搜索范围
// searchService.setLocation("北京");
//根据输入的关键字在搜索范围内检索
if (keyword) {
// searchService.search(keyword);
geocoder.getLocation(keyword);
} else {
alert("请输入地址");
}
},
}
</script>
文档参考
以上代码使用的是jsapi功能,目前对应功能已升级JavaScript API GL,地址解析功能可直接调取接口使用,欢迎大家体验!
地址解析(地址转坐标)
JavaScript API GL参考手册
到此这篇关于详解vue实现坐标拾取器功能示例的文章就介绍到这了,更多相关vue 坐标拾取器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
vue-router路由传参的两种方式详解(params和query)
vue-router 是一个基于vue.js的路由器,它提供了强大的路由功能,能够帮助开发者快速构建单页应用程序,本文将详细介绍 vue-router 路由传参的方法,包括路由传参的概念、路由传参的方法、路由传参的应用场景等,需要的朋友可以参考下2024-12-12
关于Vue中的全局导航守卫(beforeEach、afterEach)
这篇文章主要介绍了关于Vue中的全局导航守卫(beforeEach、afterEach),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-07-07
unplugin-auto-import的配置以及eslint报错解决详解
unplugin-auto-import 解决了vue3-hook、vue-router、useVue等多个插件的自动导入,也支持自定义插件的自动导入,是一个功能强大的typescript支持工具,这篇文章主要给大家介绍了关于unplugin-auto-import的配置以及eslint报错解决的相关资料,需要的朋友可以参考下2022-08-08


最新评论