GmapVue for Vue 3
This documentation is under development, it contains the main points and examples but we continue working on it. Please if you find a bug or something that is not correct, feel free to report it or send a PR to improve it. Thank you.
Installation
- NPM
- Yarn
- PNPM
- Manually
npm install @gmap-vue/v3 --save
yarn add @gmap-vue/v3
pnpm add @gmap-vue/v3
Just download dist/main.umd.js file and include it from your HTML.
<script src="./main.umd.js"></script>
Using a CDN
- jsdelivr
- unpkg
You can use a free CDN like jsdelivr to include this plugin in your html file
<script src="https://cdn.jsdelivr.net/npm/@gmap-vue/v3/dist/main.umd.js"></script>
You can use a free CDN like unpkg to include this plugin in your html file
<script src="https://unpkg.com/@gmap-vue/v3/dist/main.umd.js"></script>
Be aware that if you use this method, you cannot use TitleCase for your components and your attributes.
That is, instead of writing <GmvMap>, you need to write <gmv-map>.
Global styles
The plugin exports a simple css file to add minimum styles to the main GmvMap component.
import { createGmapVuePlugin } from '@gmap-vue/v3';
import { createApp } from 'vue';
import '@gmap-vue/v3/dist/style.css';
import App from './App.vue';
import './style.css';
const app = createApp(App);
app.use(createGmapVuePlugin({
  load: { key: '...' },
}));
app.mount('#app');
Dynamic Library Import
We follow the recommendation of the Google Maps team, who encourages to tuse the dynamic load of the library. For more information please follow this link.
Migrating from version for Vue 2
- You can import the package from '@gmap-vue/v3'instead of'gmap-vue'
- The install fucntion of the plugin now is not exported by default, it is exported by name as we show below
import { createGmapVuePlugin } from '@gmap-vue/v3';
- All components now are lazy loaded, that means if you don't use it in your code they are not include in your final bundle. This change makes the installComponentsproperty unuseful.
- The config proerty installComponentswas removed.
- The $gmapDefaultResizeBusglobal property was removed.
- The customCallbackoption is deprecated
- We add a new global property $gmapOptionsit contains the final options object received by the plugin.
- All components now are prefixed with Gmv, eg:GmvMapin the case of the Map component.
- The initGoogleMapsApinow is calledgoogleMapsApiInitializer
- The MapElementFactorynow is calledpluginComponentBuilder
- The GoogleMapsApinow is only a global variable attached to thewindowobject
- All mixins were removed, now they are composable functions
- Many of the old factories and helpers now are internal composable functions and they are not exposed by the plugin because, is not intended to be used.
- The createGoogleMapsAPIInitializernow is calledgoogleMapsAPIInitializerFactory, and it is an internal function of the plugin.
- The mapped-propsconcept was removed from the plugin and now every component has its props defined on it.
If we missed some of the bracking changes, feel free to open a PR to add them to this list.