首页 > 解决方案 > Vue.js 无法很好地显示页面

问题描述

刷新后我可以看到正确的页面(F5) 我认为渲染标记有问题

位置数据:

{
   "manholes":[
      {
         "id":0,
         "lat":37.55009275087953,
         "lng":127.05067540273716,
         "type":"point"
      },
      {
         "id":1,
         "lat":37.5501997640179,
         "lng":127.04793121391802,
         "type":"point"
      }
   ]
}

Vue.js 脚本:

data: () => ({
      manholes: [],
    }),
    beforeMount () {
      this.getManholeData()
    },
    mounted () {
      window.kakao && window.kakao.maps
        ? this.initMap()
        : this.addKakaoMapScript()
    },
    methods: {
      // axios get function with async await
      async getManholeData () {
        try {
          const baseURI = 'http://localhost:3000/manholes'
          const response = await this.$axios.get(baseURI)
          this.manholes = response.data
        } catch (ex) {
          console.log(ex)
        }
      },
      initMap () {
         // Map API config
        var container = document.getElementById('map') 
        var options = {
          center: new kakao.maps.LatLng(37.5500792286216, 127.0506923683668), 
          level: 3,
        }
        var map = new kakao.maps.Map(container, options) 

        var imageSrc = require('@/assets/manhole.png') 
        var imageSize = new kakao.maps.Size(32, 32) 
        var imageOption = { offset: new kakao.maps.Point(30, 30) } 

        var markerImage = new kakao.maps.MarkerImage(imageSrc, imageSize, imageOption)

        this.manholes.forEach(function (data) {
          //use position data
          console.log(data.lat)
          console.log(data.lng)
          var marker = new kakao.maps.Marker({
            position: new kakao.maps.LatLng(data.lat, data.lng),
            image: markerImage,
            map: map,
            clickable: true,
          })

          var iwContent = document.createElement('div')
          iwContent.className = 'infowindow'
          // iwContent.setAttribute('style', 'width:165px;text-align:center;padding:5px')
      }

我的问题:

在此处输入图像描述

我的目标:

在此处输入图像描述

标签: javascripthtmlvue.js

解决方案


推荐阅读