iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue利用openlayers加载天地图和高德地图
  • 625
分享到

vue利用openlayers加载天地图和高德地图

2024-04-02 19:04:59 625人浏览 安东尼
摘要

目录一、天地图部分1、在Vue中安装openlayers二、高德地图部分一、天地图部分 1、在vue中安装openlayers npm i --save ol 这里说的vue是基于脚

一、天地图部分

1、在vue中安装openlayers

npm i --save ol

这里说的vue是基于脚手架构建的。 新建个页面,也就是vue文件,配置好路由。接着就是可以直接放入我的代码运行显示了。

vue利用openlayers加载天地图和高德地图
<template>
  <div class="wrapper">
    <div>天地图</div>
    <div class="map" id="olMap"></div>
  </div>
</template>
<script>
import "ol/ol.CSS";
import {
  Tile as TileLayer } from "ol/layer";
import XYZ from "ol/source/XYZ";
import {
  defaults as defaultControls } from "ol/control";
import Map from "ol/Map.js";
import View from "ol/View.js";
export default {
  data() {
   return {
      map: null,
      parser: null,
    };
  },
  mounted() {
    this.initMap();
  },
  methods: {
    initMap() {
     const map = new Map({
       target: "olMap",
        view: new View({
 
          center: [0, 0], //中心点经纬度
          zoom: 4, //图层缩放大小
          projection: "EPSG:4326",
        }),
        controls: defaultControls({
          zoom: true,
          attribution: false,
          rotate: false,
        }),
      });
      this.map = map;
      // 添加地图
      let url = "Http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      url = `${
   url}&T=vec_c&tk=替代你的key`;
      const source = new XYZ({
     url: url,
        projection: "EPSG:4326",
      });
      const tdtLayer = new TileLayer({
        source: source,
      });
      this.map.addLayer(tdtLayer);
      // 添加注记
      url = "http://t{0-7}.tianditu.com/DataServer?x={x}&y={y}&l={z}";
      url = `${
   url}&T=cva_c&tk=替代你的key`;
      const sourceCVA = new XYZ({
        url: url,
        projection: "EPSG:4326",
      });
      const tdtcvaLayer = new TileLayer({
        source: sourceCVA,
      });
      this.map.addLayer(tdtcvaLayer);
    },
  },
};
</script>
<style scoped>
.map {
  width: 100%;
  height: 100vh;
}
</style>

天地图就可以显示出来了。

效果图:

二、高德地图部分

相对于天地图,高德地图就容易多了,直接上代码

<template>
  <div class="wrapper">
    <div>高德地图</div>
    <div id="map"></div>
  </div>
</template>
<script>
import {
 Map,View,Feature} from 'ol'

import * as olProj from 'ol/proj'
import {
 Point} from 'ol/geom'
import {
  Style, Fill, Stroke, Circle as sCircle } from "ol/style";
// 添加图层
import Tilelayer from 'ol/layer/Tile'
import {
 Vector as VectorLayer} from 'ol/layer'
import {
 XYZ,Vector as VectorSource} from 'ol/source'
//引入样式文件
import "ol/ol.css"
export default {
  data() {
  return {
    map:null
    }
  },
  mounted() {
  this.init();
   this.setMarker();
  },
  methods: {
    init(){
       this.map=new Map({
         target:'map',
         layers:[new Tilelayer({
           source: new XYZ({
               url:'https://wprd0{1-4}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&style=7&x={x}&y={y}&z={z}',
           })
         })
         ],
        view:new View({

            // 将西安作为地图中心 
            // olProj.fromLonLat方法将经纬度转换成对应的坐标
          center:olProj.fromLonLat([108.945951, 34.465262]),
          zoom:2
        }),
       })
    },
    setMarker(){
        let _style = new Style({
            image:new sCircle({
                radius:10,
                stroke:new Stroke({
                    color:"#fff",
                }),
                fill: new Fill({
                    color:'#3399CC',
                }),
            }),
        });
        let _feature = new Feature({
 
            geometry:new Point(olProj.fromLonLat([108.945951, 34.465262])),
        });
        _feature.setStyle(_style);
        let _marker = new VectorLayer({

            source: new VectorSource({
               feature:[_feature],
            }),
        });
        this.map.addLayer(_marker);
    },
  },
}
</script>
<style scoped>
  #map{
      
    width: 100vw;
    height: 100vh;
  }
</style>

到此这篇关于 vue利用openlayers加载天地图和高德地图的文章就介绍到这了,更多相关openlayers加载天地图和高德地图内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: vue利用openlayers加载天地图和高德地图

本文链接: https://www.lsjlt.com/news/157960.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue利用openlayers加载天地图和高德地图
    目录一、天地图部分1、在vue中安装openlayers二、高德地图部分一、天地图部分 1、在vue中安装openlayers npm i --save ol 这里说的vue是基于脚...
    99+
    2024-04-02
  • vue如何利用openlayers加载天地图和高德地图
    这篇文章给大家分享的是有关vue如何利用openlayers加载天地图和高德地图的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、天地图部分1、在vue中安装openlayersnpm i -...
    99+
    2023-06-25
  • vue使用天地图、openlayers实现多个底图叠加显示效果
    实现效果: 需求:根据返回的经纬度列表通过天地图、openlayers实现底图添加(航道图层、线图层、水深图层) tk:自己申请的密钥 安装opelayers cnpm i -S ...
    99+
    2024-04-02
  • vue使用openlayers创建地图
    vue项目中使用openlayers创建地图,供大家参考,具体内容如下 前期准备 安装node环境安装cnpm安装vue-cli 以上步骤网上都有很多教程 搭建vue项目 vue c...
    99+
    2024-04-02
  • vue怎么使用天地图和openlayers实现多个底图叠加显示效果
    这篇文章主要介绍了vue怎么使用天地图和openlayers实现多个底图叠加显示效果的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue怎么使用天地图和openlayers实现多个底图叠加显示效果文章都会有所收...
    99+
    2023-06-30
  • Vue如何接入高德地图
    这篇“Vue如何接入高德地图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue如何接入高德地图”文章吧。Vue接入高德地图...
    99+
    2023-07-02
  • vue怎么使用原生高德地图
    本篇内容主要讲解“vue怎么使用原生高德地图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么使用原生高德地图”吧!1、先在vue项目根目录下新建vue.config.js,这个文件是没有...
    99+
    2023-06-29
  • Vue如何开发高德地图应用
    这篇文章主要为大家展示了“Vue如何开发高德地图应用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue如何开发高德地图应用”这篇文章吧。异步加载因为使用 js sdk 应用,脚本文件本身体积很...
    99+
    2023-06-20
  • vue项目中如何使用高德地图
    这篇文章主要介绍“vue项目中如何使用高德地图”,在日常操作中,相信很多人在vue项目中如何使用高德地图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目中如何使用高德地图”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • Vue使用高德地图实现城市定位
    本文实例为大家分享了Vue使用高德地图实现城市定位的具体代码,供大家参考,具体内容如下 一 前端选择框点击跳转至地图选址页面 <van-row class="address...
    99+
    2024-04-02
  • Vue接入高德地图的完整实例
    目录前言参考资料Vue接入高德地图引用使用实现点击按钮缩放功能地图放大地图缩小测量距离测量面积行政区划查询渲染关键字搜索鼠标绘制区域总结前言 Vue 使用高德地图,实现缩放,鼠标绘制...
    99+
    2024-04-02
  • vue使用高德地图实现实时定位天气预报功能
    目录JSAPI 的加载使用 JSAPI Loader (推荐)JSAPI key和安全密钥的使用项目代码步骤:1、在index.html页面body中添加密钥2、安装@amap/am...
    99+
    2024-04-02
  • VUE项目调用高德地图的详细步骤
    目录前言申请高德key技术选型准备工作项目中应用刷新页面,地图加载偶尔失败在绑定插件的时候,控制台报错 a[d].split is not a function原生调用高德API混合...
    99+
    2024-04-02
  • Vue开发高德地图应用的最佳实践
    目录前言异步加载封装组件使用组件自定义界面最佳实践总结前言 之前做不过不少关于地图交互的产品系统,目前国内主流的地图应用 SDK 只有几家:高德、百度和腾讯。所以个人觉得在 PC ...
    99+
    2024-04-02
  • 如何在Html5中获取高德地图定位天气
    本篇文章给大家分享的是有关如何在Html5中获取高德地图定位天气,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。创建一个AMap.js文件// AMap.js//&nb...
    99+
    2023-06-09
  • SpringBoot整合高德地图天气查询的全过程
    目录申请key相关代码启动服务总结申请key 登录高德,注册,添加应用,创建key 官网api: https://lbs.amap.com/api/webservice/guide...
    99+
    2024-04-02
  • Vue组件如何实现高德地图地址选择功能
    这篇文章给大家分享的是有关Vue组件如何实现高德地图地址选择功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、效果图二、组件要实现的功能1. 如果有传入坐标点,则定位到坐标点...
    99+
    2024-04-02
  • vue如何使用原生高德地图你知道吗
    1、先在vue项目根目录下新建vue.config.js,这个文件是没有的,vue不提供 module.exports = { configureWebpack: { ex...
    99+
    2024-04-02
  • 如何解析OpenLayers 3加载矢量地图源的问题
    今天就跟大家聊聊有关如何解析OpenLayers 3加载矢量地图源的问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、矢量地图矢量图使用直线和曲线来描述图形,这些图形的...
    99+
    2023-06-22
  • vue3中如何使用高德地图api
    本篇内容介绍了“vue3中如何使用高德地图api”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!前置工作在开发之前我们需要了解 vue3 中接...
    99+
    2023-07-05
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作