vue-map-ui

Map component library based on leaflet for Vue 3
15,119 7
Install
npm install vue-map-ui
Latest Version:0.0.18
Vue:3
License:MIT
Last Updated:Jan 9, 2024
Links: GitHub  ·  npm
Maintainer: nikolaynau

vue-map-ui npm version npm downloads

Vue 3 map component library based on leaflet.

Documentation & Demo

Installation

# NPM
$ npm install vue-map-ui leaflet

# Yarn
$ yarn add vue-map-ui leaflet

# pnpm
$ pnpm install vue-map-ui leaflet

Usage

// main.ts
import { createApp } from 'vue';
import App from './App.vue';
// import styles
import 'leaflet/dist/leaflet.css';
import 'vue-map-ui/dist/normalize.css';
import 'vue-map-ui/dist/style.css';
import 'vue-map-ui/dist/theme-all.css';

createApp(App).mount('#app');
<script setup>
// Map.vue
import { VMap, VMapOsmTileLayer, VMapZoomControl } from 'vue-map-ui';
</script>

<template>
  <VMap style="height: 200px;">
    <VMapOsmTileLayer />
    <VMapZoomControl />
  </VMap>
</template>

Auto import

$ npm install -D unplugin-vue-map-ui unplugin-vue-components
// vite.config.ts
import { defineConfig } from 'vite';
import Components from 'unplugin-vue-components/vite';
import { VueMapUiResolver, VueMapUiPreset } from 'unplugin-vue-map-ui';

export default defineConfig({
  // ...
  plugins: [
    // ...
    Components({
      resolvers: [VueMapUiResolver()],
      types: [VueMapUiPreset]
    })
  ]
});
// webpack.config.js
const Components = require('unplugin-vue-components/webpack');
const { VueMapUiResolver, VueMapUiPreset } = require('unplugin-vue-map-ui');

module.exports = {
  // ...
  plugins: [
    Components({
      resolvers: [VueMapUiResolver()],
      types: [VueMapUiPreset]
    })
  ]
};

If you use typescript, make sure you also add components.d.ts to your tsconfig.json under include.

Volar support

If you use volar, please add the global component type definition to compilerOptions.types in tsconfig.json.

// tsconfig.json
{
  "compilerOptions": {
    // ...
    "types": ["vue-map-ui/global"]
  }
}

Typescript

If you use typescript, please add the type definitions for leaflet library.

$ npm install -D @types/leaflet

Nuxt

For Nuxt users, you only need to install nuxt-vue-map-ui.

$ npm install -D nuxt-vue-map-ui

Then add the code below into your config file.

// nuxt.config.ts
export default defineNuxtConfig({
  modules: ['nuxt-vue-map-ui'],
  vueMap: {
    /** Options */
  }
});

Refer to the docs for how to configure it.

License

Licensed under the MIT License.

Related Packages

naive-ui

A Vue 3 Component Library. Fairly Complete, Theme Customizable, Uses TypeScript,...

6,454,403 18,588
giime

A Component Library for Vue 3

16,579
next-ui3

A Component Library base on Element Plus for Vue 3

11,049
greeks-live-ui

A Component Library for Vue 3

9,866
topdatasec-ui

A Component Library for Vue 3

8,407

Version History

Version Released License
0.0.18 MIT
0.0.17 MIT
0.0.16 MIT
0.0.15 MIT
0.0.14 MIT