MapboxNavigationControl

View source
导航控件,提供缩放按钮与指北罗盘,position 控制停靠角,options 透传至 mapbox-gl。

简介

MapboxNavigationControl 在地图上挂载缩放按钮与指北罗盘。position 指定停靠角(省略用地图默认位置),options 直通 mapbox-gl 的 NavigationControl 构造选项(showZoom / showCompass / visualizePitch)。控件在地图就绪后挂载,组件卸载时自动移除。

用法

调整 position 切换停靠角:

<script setup lang="ts">
import type { ControlPosition } from 'mapbox-gl'

withDefaults(defineProps<{ position?: ControlPosition }>(), {
  position: 'top-right'
})
</script>

<template>
  <div class="h-115 w-full overflow-hidden rounded-(--ui-radius) border border-default">
    <MapboxMap
      :options="{ style: 'mapbox://styles/mapbox/light-v11', center: [116.39, 39.91], zoom: 10 }"
    >
      <MapboxNavigationControl :position="position" />
    </MapboxMap>
  </div>
</template>

示例

可视化俯仰角

倾斜底图后开启 visualizePitch,罗盘随俯仰角倾斜以指示视角:

<template>
  <div class="h-115 w-full overflow-hidden rounded-(--ui-radius) border border-default">
    <MapboxMap
      :options="{
        style: 'mapbox://styles/mapbox/streets-v12',
        center: [116.39, 39.91],
        zoom: 11,
        pitch: 55,
        bearing: -25
      }"
    >
      <!-- visualizePitch 让罗盘随俯仰角倾斜,showZoom 保留缩放按钮 -->
      <MapboxNavigationControl
        position="top-right"
        :options="{ visualizePitch: true, showCompass: true, showZoom: true }"
      />
    </MapboxMap>
  </div>
</template>

API

Props

Prop Default Type
position"top-left" | "top" | "top-right" | "right" | "bottom-right" | "bottom" | "bottom-left" | "left"

控件停靠位置;省略用地图默认位置

optionsmapboxgl.NavigationControlOptions

NavigationControl 构造选项

Changelog

No recent changes
Copyright © 2026 - 2026 YiXuan - MIT License