Javascript 获取标记,但lat&;lng为空-vue.js

Javascript 获取标记,但lat&;lng为空-vue.js,javascript,google-maps,vue.js,vuejs2,Javascript,Google Maps,Vue.js,Vuejs2,我试图在地图上显示标记。我在vue开发工具中读取数据时没有遇到任何问题。同样this.markers也有数据。但是在我的lat和lng中为空 我不确定我这样做是不是错了 data(){ return { markers: [] } }, computed: { articles(){ return this.$store.getters.getArticles; }

我试图在地图上显示标记。我在vue开发工具中读取数据时没有遇到任何问题。同样
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();
    },
data(){
返回{
标记:[]
}
},
计算:{
第()条{
返回此。$store.getters.getArticles;
}
},
观察:{
第()条{
这个.buildMarkers();
这个;
}
},
方法:{
clearMarkers(){
对于(var i=0;i
为了便于理解,这是devtool的图像


顺便说一下,我可以看到地图。唯一的问题是我看不到上面的标记,因为lat&lng是空的

您有一个标记数组,因此必须执行
buildMarkers()
函数,这会将它们添加到地图中

控制台中打开的标记的map属性已设置为null(将其从映射中删除),这意味着
clearMarkers()
也已执行

我注意到在您的文章()中,您首先构建了watcher,然后清除了标记。我想应该是这样的

articles(){
  this.clearMarkers();
  this.buildMarkers();
}

语法在我看来很糟糕。在你的文章《观察者》中,你不应该清除然后建立你的标记吗?