已解决
uniapp地图手动控制地图scale
来自网友在路上 187887提问 提问时间:2023-11-18 23:36:17阅读次数: 87
最佳答案 问答题库878位专家为你答疑解惑
前言
- 首次使用uniapp开发地图过程中,发现uniapp地图居然没有提供手动控制地图scale的方法,这个也着实没有想到,查了半天资料,也终于找到一个方法能够比较好的控制scale,做个记录。
代码
- 要定义一个地图map,还有要绑定scale
<template><map id="map" :scale="mapScale" :longitude="longitude" :latitude="latitude"></map>
</template><script>export default {data() {return {mapScale: 16,longitude: '',latitude: '',}}}
</script>
- 首先使用
uni.createMapContext
创建并返回 map 上下文 mapContext 对象。
mounted() {this._mapContext = uni.createMapContext("map", this);
}
- 定义方法来控制手动控制scale
methods: {/*** * @param {*} e - 坐标等信息* @param {Number} val - scale级别*/async setMapScale(e, val) {let setScale = () => {return new Promise((resolve, reject) => {this._mapContext.getScale({success: r => {this.mapScale = r.scale;resolve()}})})};await setScale();this._mapContext.moveToLocation({longitude: e.projectLon,latitude: e.projectLat,success: (res) => {//这里加300ms的延时是为了防止和moveToLocation功能冲突,保留地图移动的动画const timer = setTimeout(() => {this.longitude = e.longitude;this.latitude = e.latitude;this.mapScale = val;clearTimeout(timer);}, 500);},})}
}
- 然后就可以调用这个方式来实现手动控制地图scale了
- 好,就这事,散会
查看全文
99%的人还看了
相似问题
- ROS navigation栅格地图原点位置如何确定?
- vue中使用echarts实现省市地图绘制,根据数据显示不同区域颜色,点击省市切换,根据经纬度打点
- vue使用本地图片设置为默认图
- html使用天地图写一个地图列表
- 解决 uniapp 开发微信小程序 不能使用本地图片作为背景图 问题
- uniapp地图手动控制地图scale
- uniapp中使用render.js进行openers、arcgis等地图操作
- Vue+OpenLayers 创建地图并显示鼠标所在经纬度
- 漏刻有时百度地图API实战开发(1)华为手机无法使用addEventListener click 的兼容解决方案
- 高德地图获取定位报错:INVALID_USER_SCODE(无效用户代码)
猜你感兴趣
版权申明
本文"uniapp地图手动控制地图scale":http://eshow365.cn/6-38742-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!