使用 baidumap-view 组件显示地图。组件必须设置唯一 id 和明确的宽高,地图加载完成后再创建 INativeMapContext。
lat、lng、zoom:初始中心点和缩放级别;minZoom、maxZoom 限制缩放范围。
rotate、overlook:地图旋转角和俯视角。
showMapPoi、showMapIndoorPoi、showBaseIndoorMap、showTrafficMap:初始图层状态。
地图加载完成前不要添加覆盖物、检索或调用 Context 方法。
下面示例展示从初始化 SDK、渲染组件、接收加载事件到创建 Context 的完整流程。组件 id 为 demoMap,脚本中的 id 必须完全一致。
<template><baidumap-viewid="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 = nullfunction onMapLoadFinish() {map = createNativeMapContext('demoMap', getCurrentInstance()?.proxy ?? null)}function onMapClick(position: LatLng) { console.log(position) }onBeforeUnmount(() => { map?.destroy(); map = null })</script>
正确:组件使用 id="demoMap",createNativeMapContext 也传入 "demoMap"。
错误:同一页面放置两个相同 id 的组件,或用不存在的 id 创建 Context。
同一页面只应为同一个地图 id 创建一个 Context。需要多个地图时,为每个组件分配不同 id,并分别保存和销毁 Context。

上一篇
下一篇