Карта появляется только после обновления - PullRequest
0 голосов
/ 26 апреля 2020

Я использую Google Map Api в Vue js, но карта не появляется, если я обновлю sh страницу. Но когда я пытаюсь распечатать все данные в консоли, я вижу правильно. Я пытался получить данные c вместо данных Dynami c, но он все еще не работает. Я использую npm vue map и ниже мой код.

map. vue

<template>
  <div>
    <gmap-map :center="center" :zoom="17" style="width:100%;  height: 60vh;">
      <gmap-info-window
        :options="infoOptions"
        :position="infoPosition"
        :opened="infoOpened"
        @closeclick="infoOpened=false"
      >{{infoContent}}</gmap-info-window>
      <gmap-marker
        :position="getPosition(coordinates)"
        :clickable="true"
        @click="toggleInfo(coordinates)"
      />
    </gmap-map>
  </div>
</template>

<script>
export default {
  name: "Map",
  data() {
    return {
      lat: 31.2114575,
      lng: 29.9402065,
      center: {},
      coordinates: {},
      infoPosition: null,
      infoContent: null,
      infoOpened: false,
      infoCurrentKey: null,
      infoOptions: {
        pixelOffset: {
          width: 0,
          height: -35
        }
      }
    };
  },

  async mounted() {

   await  this.geolocate();


  },
 methods: {

    async geolocate() {
     await  this.getFloatDirections();
    this.center = {
          lat: this.lat,
          lng: this.lng
        };
      this.coordinates = {
        full_name: this.$route.query.name,
        lat: this.lat,
        lng: this.lng
      };
      // console.log("typeof(this.center.lat)"+typeof(this.$route.params.lat))
    },
     getFloatDirections(){
      this.lat = parseFloat(this.$route.params.lat);
      this.lng = parseFloat(this.$route.params.lng);

    },
    getPosition: function(marker) {
      return {
        lat: marker.lat,
        lng: marker.lng
      };
    },
    toggleInfo: function(marker) {
      this.infoPosition = this.getPosition(marker);
      this.infoContent = marker.full_name;

      this.infoOpened = true;
    }
  }


};
</script>


main. js

import * as VueGoogleMaps from "vue2-google-maps"

  load: {
    key: "Mykey"
  }
});

и в консоли моя ошибка enter image description here Может ли кто-нибудь помочь мне разобраться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...