当前位置:首页 > VUE

vue地图实现卫星图

2026-01-22 21:21:14VUE

使用高德地图实现卫星图

高德地图提供了卫星图图层,可以通过Vue组件轻松实现。需要注册高德开发者账号并获取API key。

安装依赖:

npm install @amap/amap-jsapi-loader

组件代码示例:

<template>
  <div id="map-container"></div>
</template>

<script>
import AMapLoader from '@amap/amap-jsapi-loader'

export default {
  data() {
    return {
      map: null
    }
  },
  mounted() {
    this.initMap()
  },
  methods: {
    initMap() {
      AMapLoader.load({
        key: '你的高德key',
        version: '2.0',
        plugins: ['AMap.TileLayer']
      }).then((AMap) => {
        this.map = new AMap.Map('map-container', {
          viewMode: '3D',
          zoom: 15,
          center: [116.397428, 39.90923]
        })

        // 添加卫星图层
        const satellite = new AMap.TileLayer.Satellite()
        satellite.setMap(this.map)
      })
    }
  }
}
</script>

<style>
#map-container {
  width: 100%;
  height: 500px;
}
</style>

使用百度地图实现卫星图

百度地图同样支持卫星图功能,需要先申请百度地图开发者密钥。

安装依赖:

npm install vue-baidu-map

组件代码示例:

<template>
  <baidu-map 
    :center="center" 
    :zoom="zoom" 
    :map-type="mapType"
    style="width: 100%; height: 500px">
  </baidu-map>
</template>

<script>
import { BaiduMap } from 'vue-baidu-map'

export default {
  components: {
    BaiduMap
  },
  data() {
    return {
      center: {lng: 116.404, lat: 39.915},
      zoom: 15,
      mapType: 'earth' // 设置为earth显示卫星图
    }
  }
}
</script>

使用Leaflet实现卫星图

Leaflet是一个轻量级地图库,可以配合各种瓦片地图服务实现卫星图。

安装依赖:

npm install leaflet

组件代码示例:

<template>
  <div id="leaflet-map"></div>
</template>

<script>
import L from 'leaflet'
import 'leaflet/dist/leaflet.css'

export default {
  mounted() {
    this.initMap()
  },
  methods: {
    initMap() {
      const map = L.map('leaflet-map').setView([39.90923, 116.397428], 15)

      // 使用高德卫星图
      L.tileLayer('https://webst{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}', {
        subdomains: ['01', '02', '03', '04'],
        attribution: '高德地图'
      }).addTo(map)
    }
  }
}
</script>

<style>
#leaflet-map {
  width: 100%;
  height: 500px;
}
</style>

使用Mapbox GL实现卫星图

Mapbox提供了高质量的卫星地图服务,需要注册获取access token。

安装依赖:

npm install mapbox-gl

组件代码示例:

<template>
  <div id="mapbox-container"></div>
</template>

<script>
import mapboxgl from 'mapbox-gl'
import 'mapbox-gl/dist/mapbox-gl.css'

export default {
  mounted() {
    mapboxgl.accessToken = '你的mapbox token'
    const map = new mapboxgl.Map({
      container: 'mapbox-container',
      style: 'mapbox://styles/mapbox/satellite-v9',
      center: [116.397428, 39.90923],
      zoom: 15
    })
  }
}
</script>

<style>
#mapbox-container {
  width: 100%;
  height: 500px;
}
</style>

注意事项

地图服务通常需要注册开发者账号并申请API key,部分服务有使用限制或收费政策。卫星图的清晰度取决于地图服务提供商的数据质量,不同地区的覆盖程度可能不同。实现时需注意坐标系匹配问题,不同地图服务可能使用不同坐标系。

vue地图实现卫星图

标签: 地图vue
分享给朋友:

相关文章

vue查看更多怎么实现

vue查看更多怎么实现

实现 Vue 的“查看更多”功能 数据截取与显示控制 通过 v-if 或 v-show 控制内容的显示与隐藏。初始状态下只显示部分内容,点击“查看更多”后展开完整内容。 <template&…

vue登录业务的实现

vue登录业务的实现

实现登录业务的基本流程 在Vue中实现登录业务通常涉及前端界面设计、表单验证、API请求交互、状态管理以及路由控制等环节。以下是核心实现步骤: 登录表单设计与验证 创建包含用户名和密码输入框的登录…

vue   实现单选

vue 实现单选

Vue 实现单选功能 在 Vue 中实现单选功能可以通过多种方式,以下是几种常见的方法: 使用原生 <input type="radio"> 绑定 v-model 通过 v-model…

vue实现钟表

vue实现钟表

使用 Vue 实现动态钟表 以下是一个基于 Vue 3 的动态钟表实现方案,包含时分秒指针和数字时间显示。 模板部分 <template> <div class="clock-…

vue实现跑车

vue实现跑车

Vue 实现跑车动画效果 使用 Vue 结合 CSS 动画可以实现跑车在屏幕上移动的效果。以下是一个完整的实现方案: 创建 Vue 组件结构 <template> <div…

vue实现方法

vue实现方法

Vue 实现方法 Vue 是一种流行的前端框架,用于构建用户界面和单页应用。以下是几种常见的 Vue 实现方法: 创建 Vue 实例 通过 new Vue() 创建一个 Vue 实例,传入配置对象,…