怎么实现 拖动地图实现定位功能?
kood-2008 opened this issue · comments
kood commented
怎么实现 拖动地图实现定位功能? 就类似京东中 的地址的定位地址, 点击右下按钮出现红色气泡, 此时拖动地图, 中心红色气泡还位于地图的中心, 实现了拖动地图, 把中心红色气泡挪到自己想要的位置,
我绑定了BMap地图的 dragging事件, 但是事件拿到四个参数{type, target, pixel, point} 其中point打印控制台很奇怪point: cD{"lng": 13432583.183799399,"lat": 3553216.716987373}, 有什么思路可以提供吗
dh commented
意思是有一个图标一直浮动显示在地图中心点是吧,拖动地图,地图中心点改变,这个时候图标所处的中心点就是用户选择的地址吗
kood commented
意思是有一个图标一直浮动显示在地图中心点是吧,拖动地图,地图中心点改变,这个时候图标所处的中心点就是用户选择的地址吗
是的是的
kood commented
dh commented
你可以尝试一下用 div 来绘制这个图标,在地图渲染容器中绝对居中,然后通过地图dragend事件拿到中心点
<template>
<BMap style="position: relative" @dragend="handelDragend">
<div
style="
position: absolute;
top: 50%;
left: 50%;
background-color: #f90;
width: 100px;
height: 100px;
transform: translate(-50%, -50%);
"
></div>
</BMap>
</template>
<script lang="ts" setup>
function handelDragend(event) {
console.log('中心点', event.currentTarget.getCenter())
}
</script>