AI 地图
产品服务
解决方案
文档与支持
定价
更新时间: 2026/08/19 09:54

使用 baidumap-view 组件显示地图。组件必须设置唯一 id 和明确的宽高,地图加载完成后再创建 INativeMapContext。

基础属性
  • lat、lng、zoom:初始中心点和缩放级别;minZoom、maxZoom 限制缩放范围。

  • rotate、overlook:地图旋转角和俯视角。

  • showMapPoi、showMapIndoorPoi、showBaseIndoorMap、showTrafficMap:初始图层状态。

地图加载完成前不要添加覆盖物、检索或调用 Context 方法。

完整页面示例

下面示例展示从初始化 SDK、渲染组件、接收加载事件到创建 Context 的完整流程。组件 id 为 demoMap,脚本中的 id 必须完全一致。

<template>
<baidumap-view
id="demoMap" style="width: 750rpx; height: 900rpx"
:lat="39.914779" :lng="116.404" :zoom="13"
@onMapLoadFinish="onMapLoadFinish" @onMapClick="onMapClick"
/>
</template>
<script setup lang="uts">
import { ref, onBeforeUnmount } from 'vue'
import { SdkInit, createNativeMapContext, INativeMapContext, LatLng } from '@/uni_modules/baidumap-view'
SdkInit.setAgreePrivacy(true)
SdkInit.setAK('您的密钥')
let map: INativeMapContext | null = null
function onMapLoadFinish() {
map = createNativeMapContext('demoMap', getCurrentInstance()?.proxy ?? null)
}
function onMapClick(position: LatLng) { console.log(position) }
onBeforeUnmount(() => { map?.destroy(); map = null })
</script>
唯一 id 的规则
  • 正确:组件使用 id="demoMap",createNativeMapContext 也传入 "demoMap"。

  • 错误:同一页面放置两个相同 id 的组件,或用不存在的 id 创建 Context。

同一页面只应为同一个地图 id 创建一个 Context。需要多个地图时,为每个组件分配不同 id,并分别保存和销毁 Context。

上一篇

地图UTS接口说明

下一篇

地图类型与样式
本篇文章对您是否有帮助?