当前位置:首页 > uni-app

uniapp 地图组件

2026-03-05 06:56:48uni-app

uniapp 地图组件使用指南

uniapp 提供了 map 组件用于在应用中嵌入地图功能,支持展示地图、标记位置、路线规划等。以下是详细的使用方法和注意事项。

基础用法

在页面中添加 map 组件,设置基本属性:

<template>
  <view>
    <map 
      id="myMap" 
      :latitude="latitude" 
      :longitude="longitude" 
      :markers="markers"
      style="width: 100%; height: 300px;">
    </map>
  </view>
</template>

<script>
export default {
  data() {
    return {
      latitude: 39.908823,
      longitude: 116.397470,
      markers: [{
        id: 1,
        latitude: 39.908823,
        longitude: 116.397470,
        title: '北京市',
        iconPath: '/static/location.png'
      }]
    }
  }
}
</script>

属性说明

  • latitudelongitude:地图中心点的经纬度。
  • markers:标记点数组,支持自定义图标、标题等。
  • scale:地图缩放级别,默认为 16。
  • show-location:是否显示用户当前位置。

交互功能

通过 @markertap 监听标记点点击事件:

<map 
  @markertap="handleMarkerTap"
  :markers="markers">
</map>

<script>
export default {
  methods: {
    handleMarkerTap(e) {
      console.log('标记点被点击', e.markerId)
    }
  }
}
</script>

地图控件

添加控件(如指南针、缩放按钮):

<map 
  :controls="controls"
  @controltap="handleControlTap">
</map>

<script>
export default {
  data() {
    return {
      controls: [{
        id: 1,
        position: { left: 10, top: 10 },
        iconPath: '/static/compass.png',
        clickable: true
      }]
    }
  },
  methods: {
    handleControlTap(e) {
      console.log('控件被点击', e.controlId)
    }
  }
}
</script>

路线规划

调用 uni.getLocation 获取当前位置,结合地图组件实现路线规划:

uni.getLocation({
  type: 'gcj02',
  success: (res) => {
    this.latitude = res.latitude
    this.longitude = res.longitude
  }
})

注意事项

  • 地图组件在部分平台上需要配置权限,例如高德地图或腾讯地图的 SDK 配置。
  • 真机调试时需确保已申请相关定位权限。
  • markerscontrols 的数据变化需通过 setData 更新。

通过以上方法,可以快速实现 uniapp 中的地图功能,满足大多数应用场景需求。

uniapp 地图组件

标签: 组件地图
分享给朋友:

相关文章

vue实现广告组件

vue实现广告组件

Vue 实现广告组件的核心方法 数据驱动的广告内容渲染 通过 props 接收广告数据(如图片URL、跳转链接等),使用 v-bind 动态绑定属性。典型结构包含 <a> 标签嵌套 <…

uniapp组件写法

uniapp组件写法

Uniapp 组件的基本写法 Uniapp 的组件写法与 Vue 类似,支持单文件组件(.vue 文件)。一个基本的组件通常包含三个部分:<template>、<script>…

vue VUE实现日历组件功能

vue VUE实现日历组件功能

Vue 日历组件实现方法 基础日历结构 使用Vue的模板语法构建日历的HTML结构,通常包含头部(年月显示、切换按钮)和日历表格(星期标题和日期格子)。 <template> &l…

react组件如何通讯

react组件如何通讯

React 组件通讯方式 React 组件间的通讯方式主要包括以下几种方法,适用于不同场景下的数据传递和状态管理需求。 父子组件通讯(Props 传递) 父组件通过 props 向子组件传递数据或…

如何判断react组件

如何判断react组件

判断 React 组件的依据 React 组件的判断通常基于其定义方式、功能特性和代码结构。以下是几种常见的判断方法: 函数组件与类组件 函数组件是通过 JavaScript 函数定义的,接收 pr…

react如何删除组件

react如何删除组件

删除 React 组件的几种方法 条件渲染法 通过状态控制组件是否渲染。当状态为 false 时,组件会被移除: const [showComponent, setShowComponent] =…