vue + 高德地图如何实现拖拽监听?

为什么这样拖拽地图时不会触发‘success’回调执行console输出?
网上的方法都是通过

<script type="text/javascript" src='//webapi.amap.com/maps?v=2.0&key=您申请的key值&plugin=AMap.ToolBar'></script>

<!-- UI组件库 1.0 -->

<script src="//webapi.amap.com/ui/1.1/main.js?v=1.1.1"></script>

这样的方式实现,但是我想通过AMapLoader实现

// 初始化

initMap(){

const that = this

AMapLoader.load({

key:"myKey", // 申请好的Web端开发者Key,首次调用 load 时必填

version:"2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15

plugins:['AMap.Geolocation'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等

AMapUI: {// 加入UI组件,重点就是这个

version: '1.1',

plugins: ['misc/PositionPicker']//SimpleMarker设置自定义图标,PathSimplifier轨迹展示组件

}

}).then((AMap)=>{

that.AMap = AMap

that.map = new AMap.Map("mapcontainer",{ //设置地图容器id

viewMode:"3D", //是否为3D地图模式

zoom: 15, //初始化地图级别

center: that.mapCenter, //初始化地图中心点位置

enableHighAccuracy: true, //是否使用高精度定位,默认:true

zoomToAccuracy: true,

scrollWheel: false,

dragEnable: true, //是否可拖动

resizeEnable: true,

rotateEnable: true,

});

that.initDrapMap()

}).catch(e=>{

console.log(e);

})

},

initDrapMap(){

const that = this

AMapUI.loadUI(['misc/PositionPicker'], function(PositionPicker) {

that.positionPicker = new PositionPicker({

mode:'dragMap',//拖动地图模式

map: that.map,

});

//成功回调函数

that.positionPicker.on('success', function(positionResult) {

console.log("positionResult",positionResult)

});

//失败回调函数

that.positionPicker.on('fail', function(positionResult) {

});

});

},


回答:

拖拽有很多种,而PositionPicker是拖拽选址,并不是单纯的拖拽,如果你需要的就是这个功能,那么你除了需要绑定事件外,你还需要开启拖拽选址

vue + 高德地图如何实现拖拽监听?

如果你只是需要监听地图或标注的拖拽事件,而不需要选址,那么你应该使用on进行事件监听,拖拽相关事件有dragstart、dragging、dragend
https://lbs.amap.com/api/jsap...
vue + 高德地图如何实现拖拽监听?

以上是 vue + 高德地图如何实现拖拽监听? 的全部内容, 来源链接: utcz.com/p/933415.html

回到顶部