# Introduction
@fawmi/vue-google-maps
provides a set of Vue.js 3 components wrapping the Google Maps API v3.
The following components are currently supported:
Map
, Marker
, Cluster
, InfoWindow
, Circle
, Polygon
, Polyline
, Rectangle
, Autocomplete
# Install
To install it via NPM
npm install -S @fawmi/vue-google-maps
# Basic usage
You need an API Key. Learn how to get an Api key (opens new window).
Initialise the plugin in your main.js
:
import { createApp } from 'vue'
import VueGoogleMaps from '@fawmi/vue-google-maps'
const app = createApp(App);
app.use(VueGoogleMaps, {
load: {
key: 'YOUR_API_KEY_COMES_HERE',
// language: 'de',
},
}).mount('#app')
Use it anywhere in your components
<template>
<GMapMap
:center="{lat: 51.093048, lng: 6.842120}"
:zoom="7"
map-type-id="terrain"
style="width: 100vw; height: 900px"
>
</GMapMap>
</template>
<script >
export default {
name: 'App',
data() {
return {
center: {lat: 51.093048, lng: 6.842120},
}
}
}
</script>
# Register google maps events
In order to use Google maps events, they should either be enabled globally
app.use(VueGoogleMaps, {
load: {
key: 'YOUR_API_KEY_COMES_HERE',
},
autobindAllEvents: true,
}).mount('#app')
Or better yet, they should be activated when needed.
In this example, we enable closeclick
event for GMapInfoWindow
component and register the event.
<GMapInfoWindow
:closeclick="true"
@closeclick="closeMarker"
:opened="openedMarkerID === m.id"
>
<div>I am in info window {{ m.id }}</div>
</GMapInfoWindow>
Map →