When using Google Maps AdvancedMarkerView isn't showing on the map. This problem only occurs when storing googleMap in the component. When storing googleMap in a const or window object its working fine.
I would like to store it in the component, so I can add or remove markers later. Am I missing something or is this because AdvancedMarkerView is beta?
mounted() {
const loader = new Loader({
apiKey: 'key',
version: 'beta',
libraries: ['marker'],
});
loader.load().then((google) => {
this.googleMap = new google.maps.Map(this.$refs.map, this.mapOptions);
// const googleMap = new google.maps.Map(this.$refs.map, this.mapOptions);
// window.googleMap = new google.maps.Map(this.$refs.map, this.mapOptions);
// Marker works fine
new google.maps.Marker({
map: this.googleMap,
position: this.home.position,
})
// Works only with window.googleMap or const googleMap
new google.maps.marker.AdvancedMarkerView({
map: this.googleMap,
position: this.home.position,
content: this.buildContent(this.home),
title: this.home.title
});
});
},
Vue3 with Advanced Markers works for me, here is my codesanbox: https://codesandbox.io/s/vue-3-google-map-base-circles-forked-1hbe2p?file=/src/components/GoogleMapLoader.vue
One thing to note is that, in Vue3, it seems using
data()interferes withthis.map, after changingdata()tosetup(), then it works fine.Change to your API key and you should be able to see the new markers.