说明需要根据最近用户点击的位置,取得当前点击位置的纬度和经度的地图坐标拾取功能。 根据用户输入的纬度和经度标记该点。 我在高德地图上写了这样的组件。
实际效果:
如果你熟悉高德地图,其实实现起来很简单。
用户点击地图获取纬度和经度的实现:
拦截用户在地图上的点击事件,获取点击位置的经纬度,在高德地图上有点标记工具,在该位置标记该点。
用户输入纬度和经度,在地图上加标点符号
在前一个功能的后半部分,你会得到这个纬度和经度的标记点。
如果是黄金api,请单击此处查看
获取当前点击位置的纬度和经度
3359 lbs.AMAP.com/API/JavaScript-API/example/map/click-to-get-LNG lat
设定点标记
3359 lbs.AMAP.com/API/JavaScript-API/example/marker/marker-content
要上传整个代码,首先,最重要的是导入高德地图
script src=' https://web API.AMAP.com/maps? v=1.4.15key=您申请的key值'/script将创建新的坐标拾取组件
templatedivclass=' coordinate map ' divclass=' coordinate map _ input ' El-inputv-model=' LNG ' placeholder='单击地图divel-inputv-model=' lat ' placeholder='单击地图或输入纬度' @ change=' lnglatchange ' div divid=' map ' class=' mmm templatescriptvarmapvarmousetoolexportdefault { data (} return { lastdot 333 } LNG : ',lat: ',}, mounted () { this.initMap )//用户单击事件map.on(click )并侦听((e ) ) this.LNG=e.LNGlat.getLNG ) ) this . methods 3360 { iii } { resize enable : true,//是否监视地图容器大小调整zoom: 11,//初始化地图级别center : [ 116.46,39.92 ] 、lnglatChange () { this.addDot )//自适应中心点map.setFitView;//点标记addDot () if ) this.Marker ) this.Marker.setmap ) null ); this.marker=null; } this.marker=new AMAP.marker ({ position : new AMAP.LNG lat (this.lat,this.lat ) } ); letlnglat={ } LNG lat.LNG=number (this.LNG ) LNGlat.lat=number ) this.lat ) this.$emit ) ' givelnglat,LNG },}/scriptstylelang=' less ' scoped.coordinate map { width 3360500 px; coordinate map _ input { display : flex; 边距- bottom : 15px; } .map { width: 500px; height: 300px; border-radius:6px; }}/style使用父程序集
//首先导入组件。 由于此组件只能在单独的页面上部署,因此不需要注册全局组件,而是直接导入并导入importcoordinatemapfrom ' @/components/coordinate map.vue '/使用注册组件components 3360 { coonents }//使用组件coordinate map @ givelnglat=' getlnglat '/coordinate map//时,此getlnglat(lnglnt )控制台
个人水平有限,有问题欢迎大家留言指导。 请作为学习和参考。
学大海是没有职业生涯的! 努力二字,共同学习!