Vue+OpenLayers入门(加载高德在线地图)

开发环境的搭建在上一篇教程中已有描述,如果不知道怎么搭建,请移步Vue+OpenLayers入门(加载OSM在线地图)

此代码为加载高德在线地图以及清除地图上的默认控件:

<template>
  <div class="map-box" id="map-box" ref="mapBox"></div>
</template>
<script>
import 'ol/css';
import {fromLonLat} from 'ol/proj';
import Map from 'ol/Map';
import View from 'ol/View';
import {Tile as TileLayer} from 'ol/layer';
import {defaults as Defaults} from 'ol/control';
import XYZ from 'ol/source/XYZ';
export default {
  data() {
    return {
      map: null,
    }
  },
  mounted() {
    this.initMap();
  },
  methods: {
    /** 初始化地图 */
    initMap() {
      this.map = new Map({
        layers: [
          new TileLayer({
            source: new XYZ({
              url: 'http://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
            }),
          })
        ],
        view: new View({
          center: fromLonLat([104.06, 30.67]), // 成都
          zoom: 10, // 设置初始化时的地图缩放层级
          projection: 'EPSG:3857', // 坐标系
          maxZoom: 18, // 最大缩放层级
          minZoom: 4, // 最小缩放层级
        }),
        target: 'map-box', // 地图的dom
        controls: new Defaults({
          // 清除地图上的控件
          attribution: false,
          rotate: false,
          zoom: false,
        })
      });
    },
  }
}
</script>
<style>
  .map-box {
    width: 100%;
    height: 100%;
  }
</style>

效果图

在这里插入图片描述

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现在高德地图上可视化展示风场、海浪、洋流、气压、温度等需要使用 Vue3 和 OpenLayers 进行开发。下面是一个简单的步骤: 1. 首先,在 Vue3 项目中引入 OpenLayers 库。可以通过 npm 或直接引入 CDN 的方式进行引入。 2. 创建一个 Vue 组件,用于展示地图和图层。可以在组件的模板中添加一个 div 元素作为地图容器。 3. 在组件的 mounted 钩子函数中,初始化地图对象。使用 OpenLayers 的 Map 类来创建地图,指定地图容器、初始中心点和缩放级别。 4. 创建风场、海浪、洋流、气压、温度等图层。可以使用 OpenLayers 的 VectorLayer 类或 ImageLayer 类来创建对应的图层,并将其添加到地图中。 5. 根据需求,加载相应的数据。可以通过 AJAX 请求获取数据,或者使用静态数据进行展示。根据数据类型和格式,可以使用 OpenLayers 的相关类来解析和渲染数据。 6. 在图层中绘制数据。根据数据的经纬度坐标和属性信息,使用 OpenLayers 提供的绘制方法将数据绘制到对应的图层上。 7. 添加交互功能。可以通过 OpenLayers 的 Interaction 类来添加交互功能,如鼠标点击、拖拽等操作。 8. 根据需要,添加其他功能和样式。可以根据项目需求,添加缩放控件、图例、信息框等功能,并通过 CSS 样式进行美化。 以上是一个大致的实现过程,具体的细节可能会根据项目需求和数据格式有所差异。希望对你有帮助!如有任何疑问,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值