Newer
Older
ProductionSysFront / src / components / Map / gaodeMap.vue
StephanieGitHub on 9 Mar 2020 1 KB create base
<template>
  <div class="amap-page-container">
    <div :style="{width:'100%',height:'300px'}">
      <el-amap :plugin="plugin" :center="center" vid="amap" class="amap-demo"/>
    </div>
  </div>
</template>

<script>
export default {
  name: 'GaodeMap',
  props: {
    center: {
      type: Array,
      required: true
    }
  },
  data() {
    const self = this
    return {
      loaded: true,
      plugin: [{
        enableHighAccuracy: true, // 是否使用高精度定位,默认:true
        timeout: 100, // 超过10秒后停止定位,默认:无穷大
        maximumAge: 0, // 定位结果缓存0毫秒,默认:0
        convert: true, // 自动偏移坐标,偏移后的坐标为高德坐标,默认:true
        panToLocation: true, // 定位成功后将定位到的位置作为地图中心点,默认:true
        zoomToAccuracy: true, // 定位成功后调整地图视野范围使定位位置及精度范围视野内可见,默认:f
        extensions: 'all',
        pName: 'Geolocation',
        events: {
          init(o) {
            // o 是高德地图定位插件实例
            o.getCurrentPosition((status, result) => {
              console.log(result)
              if (result && result.position) {
                self.lng = result.position.lng
                self.lat = result.position.lat
                self.center = [self.lng, self.lat]
                self.loaded = true
                self.$nextTick()
              }
            })
          }
        }
      }]
    }
  }
}
</script>

<style scoped>
  .map-demo{
    height: 400px;
  }
</style>