更新记录
1.0.0(2025-03-13)
初步完善功能
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.94 app-vue | × | × | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
× | × | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
地图组件 ly-map
1 初始化
默认填充父布局
<ly-map ref="map" map-key="天地图key"/>
2 组件说明
支持参数
参数 | 类型 | 说明 |
---|---|---|
mapKey | String | 天地图官网申请的key,必填否则地图不能正确出来 |
lonlat | Array | 地图初始位置,默认值[111.668097, 40.825417] |
zoom | Number | 地图初始缩放等级,默认值16 |
showCenterIcon | Boolean | 是否在地图中间显示图标, 默认值 false不显示 |
showLocationIcon | Boolean | 是否在地图右下角显示定位图标, 默认值 false不显示 |
支持事件
事件 | 说明 |
---|---|
onLoaded | 当地图加载完成时 |
onLocation | 点击右下角定位按钮时 |
onStartDrag | 当地图开始拖拽时 |
onEndDrag | 当地图结束拖拽时 |
支持方法
方法 | 说明 |
---|---|
setCenter(lon:number, lat:number,zoom:Number) | 将地图的中心点变换到指定的地理坐标,如果同时指定了缩放等级,则同时缩放到指定的等级 参数说明: lon:地图的中心点经度 lat:地图的中心点纬度 zoom:地图的比例尺级别 |
setType(type:Number) | 设置地图显示类型 参数说明: type:要设置的地图展示类型 0矢量地图 1卫星地图 其它显示矢量地图 |
setMarkers(Array\<Object>) | 将标注添加到地图中,支持多个标注同时添加,标注Object格式见下表 |
setZoom(zoom:Number) | 将视图缩放到指定的缩放等级,中心点坐标不变 参数说明: zoom:地图的比例尺级别 |
resize() | 重置地图展示区域尺寸 |
标注Object 格式说明
key | value | 说明 |
---|---|---|
icon | String | 标注显示图标的路径,支持网络图片 |
width | Number | 标注图标宽度 |
height | Number | 标注图标高度 |
lon | Number | 标注显示的位置经度 |
lat | Number | 标注显示的位置纬度 |
示例代码
完整代码如下
<template>
<view class="map-page-wrapper">
<view class="map-box">
<ly-map ref="map1"
map-key="天地图key"
:lonlat="[111.668097, 40.825417]"
:zoom="16"
show-center-icon
show-location-icon
:on-location="location"
:on-loaded="loadMap1"
:on-start-drag="startDrag"
:on-end-drag="endDrag"/>
</view>
<view class="map-box">
<ly-map ref="map2"
map-key="天地图key"
show-center-icon
show-location-icon
:on-location="location"
:on-loaded="loadMap2"
:on-start-drag="startDrag"
:on-end-drag="endDrag"/>
</view>
</view>
</template>
<script>
import icon from './icon.png';
export default {
data() {
return {
};
},
mounted() {
// 绑定组件
this.map1 = this.$refs.map1;
this.map2 = this.$refs.map2;
},
methods: {
location() {
console.log("点击定位按钮回调");
},
loadMap1() {
// 设置多个标注
this.map1.setMarkers([
{
icon: icon,
width: 24,
height: 27,
lon: 111.668020,
lat: 40.82540,
},
{
icon: icon,
width: 24,
height: 27,
lon: 111.667000,
lat: 40.8250,
}
]);
// 设置地图类型
console.log("地图1创建完成");
},
loadMap2() {
// 重置地图大小
this.map2.resize();
// 设置中心位置
this.map2.setCenter(116.3912314,39.90733450);
// 设置地图类型 0矢量地图 1卫星地图
this.map2.setType(1);
// 设置缩放
this.map2.setZoom(16);
// 设置地图类型
console.log("地图2创建完成");
},
startDrag() {
console.log("开始地图拖拽");
},
endDrag() {
console.log("结束地图拖拽");
},
}
};
</script>
<style lang="scss">
.map-page-wrapper {
width: 100%;
height: calc(100vh - env(safe-area-inset-bottom));
.map-box{
width: 100%;
height:50%;
}
}
</style>