извлекает маркеры, но их значение равно нулю - vue.js - PullRequest
3 голосов
/ 10 июня 2019

Я пытаюсь отобразить маркеры на карте.Я получил данные без проблем, видя в Vue Dev Tool.Также this.markers имеет данные.Но внутри моих lat и lng нет нуля

Я не уверен, что то, что я делаю, неправильно?

data(){
        return {
            markers: []

        }
    },
    computed: {
        articles(){
            return this.$store.getters.getArticles;
        }
    },
    watch: {
        articles(){
            this.buildMarkers();
            this.clearMarkers();
        }
    },
    methods: {
        clearMarkers(){
            for( var i = 0; i < this.markers.length; i++ ){
                this.markers[i].setMap( null );
            }
        },
        buildMarkers: function(){

            this.markers = [];

            for( var i = 0; i < this.articles.length; i++ ){

                var position = new google.maps.LatLng(this.articles[i].lat, this.articles[i].lng);
                console.log(position);

                var marker = new google.maps.Marker({
                    position: position,
                    map: this.map
                });

                this.markers.push(marker);
            }
        },
    },
    mounted(){
        this.map = new google.maps.Map(document.getElementById('article-map'), {
            center: {lat: this.latitude, lng: this.longitude},
            zoom: this.zoom
        });
        this.clearMarkers();
        this.buildMarkers();
    },

, чтобы сделать его более понятным, это образ devtool.

enter image description here

Кстати, я вижу карту.Единственная проблема в том, что я не вижу маркеров на нем, потому что широта и пустота.

1 Ответ

0 голосов
/ 10 июня 2019

У вас есть массив маркеров, поэтому должна быть выполнена функция buildMarkers(), которая добавила бы их на карту.

Для свойства карты маркера, открытого в консоли, установлено значение null (удаление его с карты), это означает, что clearMarkers() также выполнено.

Я заметил, что в ваших статьях () наблюдатель сначала строит, а затем очищает маркеры. Я думаю, что это должно читаться

articles(){
  this.clearMarkers();
  this.buildMarkers();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...