# 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 →