Skip to content

Cannot read property 'setBounds' of null when using vueGoogleMapsCompatibility #112

@toddb

Description

@toddb

Error affects v2.0.4 with vueGoogleMapsCompatibility:

Cannot read property 'setBounds' of null

Steps to reproduce:

  • initialise via README approach
import Vue from 'vue';
import * as VueGoogleMaps from 'vue2-google-maps';
import VuetifyGoogleAutocomplete from 'vuetify-google-autocomplete';

// @see https://www.npmjs.com/package/vue2-google-maps
Vue.use(VueGoogleMaps, {
    load: {
        key: 'xxxxxxxxs',
        // This is required to use the Autocomplete plugin
        libraries: 'places', // 'places,drawing,visualization'
    },
});

Vue.use(VuetifyGoogleAutocomplete, {
    /*
      not used as loaded with component
      apiKey: key,
    */
    vueGoogleMapsCompatibility: true,
});
  • add your component to the page
  • load up the vue page and get an early focus on the field (the goal is to active this.geoLocate() asap.

The issue is that the lazy load promise of gmaps is not yet complete, so this.autocomplete is not yet intialised. Thus the error occurs:

           this.setupGmapApi(() => {
              const circle = new window.google.maps.Circle({
                center: geolocation,
                radius: position.coords.accuracy,
              });
              this.autocomplete.setBounds(circle.getBounds());  // autocomplete not yet initialised from setupGoogle()
              this.geolocateSet = true;
            });
          });

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions