广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue如何使用原生高德地图你知道吗
  • 771
分享到

vue如何使用原生高德地图你知道吗

2024-04-02 19:04:59 771人浏览 泡泡鱼
摘要

1、先在vue项目根目录下新建vue.config.js,这个文件是没有的,vue不提供 module.exports = { configurewebpack: { ex

1、先在vue项目根目录下新建vue.config.js,这个文件是没有的,vue不提供

module.exports = {
  configurewebpack: {
	  externals: {
		'AMap': 'AMap', // 高德地图配置
		'AMapUI': 'AMapUI'
	  }
  },
}

2、在vue文件index.html中引入高德地图js文件

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta Http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
    <title>default</title>
  </head>
  <body>
    <noscript>
      <strong>We're sorry but default doesn't work properly without javascript enabled. Please enable it to continue.</strong>
    </noscript>
    <div id="app"></div>
    <!-- built files will be auto injected -->
	<script type="text/javascript" src="http://webapi.amap.com/maps?v=1.4.3&key=你的高德地图key&plugin=AMap.ControlBar"></script>
  </body>
</html>

3、在vue文件中使用

<template>
  <div class="box">
    <div id="container" style="width:1500px; height:900px"></div>
  </div>
</template>
<script>
import AMap from 'AMap' // 引入高德地图
let map,marker;
export default {
  data() {
    return {
       markers : [
         {
              icon: 1,
              position: [121.506377, 31.243105],
              name:'张三',
          }, {
              icon: 1,
              position: [121.506077, 31.242105],
              name:'李四',
          }, {
              icon: 1,
              position: [121.506577, 31.240105],
              name:'王五',
          }
      ]
    }
  },
  mounted () {
    this.init()
  },
  methods: {
    init () {
      let that = this;
       map = new AMap.Map('container', {
          resizeEnable: true,
          rotateEnable:true,
          pitchEnable:true,
          zoom: 17,
          pitch:50,
          rotation:-15,
          viewMode:'3D',//开启3D视图,默认为关闭
          buildingAnimation:true,//楼块出现是否带动画
          // expandZoomRange:true,
          zooms:[3,20],
          center:that.markers[0].position
      })
      AMap.plugin(['AMap.ControlBar',], function(){
              // 添加 3D 罗盘控制
              map.addControl(new AMap.ControlBar());
      });
      this.addMarker(this.markers)
    },
    //拖动事件
    mapDraw(arriveCoor){
         map = new AMap.Map('container', {   //map-location是嵌地图div的id
              resizeEnable: true, //是否监控地图容器尺寸变化
              zoom:20, //初始化地图层级
              center: arriveCoor //初始化地图中心点
         });
         // 定位点
          this.addMarker(arriveCoor);
    },
    // 实例化点标记
    addMarker(arriveCoor) {
       var _this = this;
       arriveCoor.forEach(item=>{
          marker = new AMap.Marker({
              icon: item.icon,  //图片ip
              imageSize: "20px",
              position: [item.position[0], item.position[1]],
              // offset: new AMap.Pixel(-13, -30),
              content:`<div class="custom-content-marker"><span style="display:block;width:200px">${item.name}</span><img src=${mapicon} onclick="clickImgMarker(${item.name})"></div>`,
              // 设置是否可以拖拽
              draggable: true,
              cursor: 'move',
              // 设置拖拽效果
              // raiseOnDrag: true
          });
          marker.setMap(map);
      })
    },
  },
}
</script>

5、卫星图动漫切换镜头,动画效果

<template>
  <div class="box">
	  <div style="position: absolute;z-index: 10;cursor:pointer" @click="animates()">点击去鼎旺中心</div>
    <div id="container" style="width: 2400px;height: 920px;"></div>
  </div>
</template>
<script>
import AMap from 'AMap' // 引入高德地图
var map;
export default {
  data() {
    return {
    }
  },
  mounted () {
    this.init()
  },
  methods: {
    init () {
       var _this = this;
       map = new AMap.Map('container', {
          resizeEnable: true,
          rotateEnable:true,
          pitchEnable:true,
          zoom: 13,
		  pitch: 65,
		  rotation: 45,
          viewMode:'3D',//开启3D视图,默认为关闭
          buildingAnimation:true,//楼块出现是否带动画
          expandZoomRange:true,
          center:[113.2385,22.96605],
		  layers: [
			// 高德默认标准图层
			new AMap.TileLayer.Satellite(),
			// 楼块图层
			new AMap.Buildings({
				zooms: [16, 18],
				zIndex: 10,
				heightFactor: 2 //2倍于默认高度,3D下有效
			}),
		  ],
      })
	  //定位鼎旺中心
	  var maskerIn = new AMap.Marker({
		position:[113.2385,22.96605],
		map:map
	  });
	  var loca = window.loca = new Loca.Container({
	      map,
	  });
	  var pl = window.pl = new Loca.PolyGonLayer({
	        zIndex: 120,
	        shininess: 10,
	        hasSide: true,
	        cullface: 'back',
	        depth: true,
	    });
	    pl.setLoca(loca);
	    map.on('complete', function () {
	        loca.animate.start();
	        // setTimeout(_this.animates, 2000);//调用镜头动画
	    });
    }, 
	//点击调用精通动漫
	animates(){
		var speed = 1;
		loca.viewControl.addAnimates([
		   // 寻迹
		   {
			  center: {
			  value: [113.2385,22.96605],
			  control: [[113.2385,22.96605], [113.2385,22.96605]],
			  timing: [0.3, 0, 0.1, 1],
			  duration: 8000 / speed,
			},
			//快速移动,前进
			zoom: {
			  value: 17,
			  control: [[0.3, 15], [1, 17]],
			  timing: [0.3, 0, 0.7, 1],
			  duration: 4000 / speed,
			},
		  }, {
			// 环绕
			rotation: {
			  value: 270,
			  control: [[0, 0], [1, 270]],
			  timing: [0, 0, 0, 1],
			  duration: 7000 / speed,
			},
			//前进
			zoom: {
			  value: 17,
			  control: [[0.3, 16], [1, 17]],
			  timing: [0.3, 0, 0.7, 1],
			  duration: 5000 / speed,
			},
		  }], function () {
			pl.hide(1000);
			setTimeout(animate, 2000);
			console.log('结束');
		});
	},
  },
}
</script>
<style>
	.amap-e, .amap-maps {
	    width: 100%;
	    height: 100%;
	    outline: none;
	    background: #050b17;
	}
	.amap-copyright {
	    display: none!important;
	    left: 77px;
	    height: 16px;
	    bottom: 0;
	    padding-bottom: 2px;
	    font-size: 11px;
	    font-family: Arial,sans-serif;
	}
	.amap-copyright, .amap-logo {
	    display: none!important;
	}
</style>

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注编程网的更多内容!   

--结束END--

本文标题: vue如何使用原生高德地图你知道吗

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

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

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

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

下载Word文档
猜你喜欢
  • vue如何使用原生高德地图你知道吗
    1、先在vue项目根目录下新建vue.config.js,这个文件是没有的,vue不提供 module.exports = { configureWebpack: { ex...
    99+
    2022-11-13
  • vue怎么使用原生高德地图
    本篇内容主要讲解“vue怎么使用原生高德地图”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue怎么使用原生高德地图”吧!1、先在vue项目根目录下新建vue.config.js,这个文件是没有...
    99+
    2023-06-29
  • vue如何使用vue-cropper裁剪图片你知道吗
    目录一、安装:二、使用:三、内置方法:四、使用:总结 官网: https://github.com/xyxiao001/vue-cropper 一、安装: npm instal...
    99+
    2022-11-12
  • vue项目中如何使用高德地图
    这篇文章主要介绍“vue项目中如何使用高德地图”,在日常操作中,相信很多人在vue项目中如何使用高德地图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目中如何使用高德地图”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • 如何用vue实现网页截图你知道吗
    目录1、安装html2Canvas2、在需要的vue组件中引入3、编写一个截图按钮4、调用函数toImage总结 1、安装html2Canvas npm install html...
    99+
    2022-11-12
  • vue项目中如何使用mock你知道吗
    目录第一步:第二步,在request.js中进行相关配置,request.js代码如下:第三步,在mock.js中进行相关配置,mock.js代码如下:第四步,在main.js中需引...
    99+
    2022-11-12
  • 你知道如何在Bash中优雅地使用Spring框架吗?
    当谈到Java开发时,Spring框架一直是最流行的框架之一。它可以帮助开发人员更快、更简单地构建应用程序。在本文中,我们将介绍如何在Bash中优雅地使用Spring框架。 首先,让我们看一下如何在Bash中安装Spring框架。您可以使用...
    99+
    2023-09-10
    npm bash spring
  • 你知道如何使用Java和Laravel构建高效的API吗?
    当今的互联网时代,API已经成为了各种互联网应用程序的核心。它们作为应用程序之间的桥梁,使得应用程序之间能够互相通信,以及将数据和服务共享。在这篇文章中,我们将探讨如何使用Java和Laravel构建高效的API。 Java和Laravel...
    99+
    2023-09-26
    laravel shell api
  • 你知道在Linux环境下如何高效地使用Go语言索引数据吗?
    在Linux环境下使用Go语言高效地索引数据是一件非常有意义的事情。Go语言本身就是一门高效的语言,而且在Linux环境下使用Go语言索引数据的效率更是得到了很大的提升。在本文中,我们将会介绍在Linux环境下如何高效地使用Go语言索引数据...
    99+
    2023-06-13
    索引 linux numy
  • “你知道如何使用NPM在PHP和Git中生成二维码吗?”
    你知道如何使用NPM在PHP和Git中生成二维码吗? 二维码现在已经成为了现代社会中非常常见的一种二维码码制。无论是在线支付还是在网站上分享信息,二维码都是不可或缺的一部分。在本文中,我们将介绍如何使用NPM在PHP和Git中生成二维码。 ...
    99+
    2023-09-07
    git 二维码 npm
  • 你知道如何使用ASP和Spring编写高效的函数吗?
    ASP和Spring是两个非常流行的Web应用程序框架。它们都提供了一些非常有用的功能,可以帮助开发人员编写高效的函数。在本文中,我们将探讨如何使用ASP和Spring编写高效的函数,并提供一些相关的演示代码。 一、ASP编写高效的函数 A...
    99+
    2023-06-05
    spring 函数 bash
  • 你知道如何在Go语言中使用函数生成二维码吗?
    Go语言是近年来备受关注的一门编程语言,它简洁、高效、安全,而且在并发编程方面表现出色,受到了越来越多开发者的喜爱。在Go语言中,我们可以轻松地使用函数生成二维码,下面我将介绍一下如何实现。 首先,我们需要下载并安装一个开源的二维码生成库—...
    99+
    2023-09-14
    二维码 windows 函数
  • 你知道如何通过并发使用Go和npm生成二维码吗?
    当今社会,二维码已经成为了人们生活中不可缺少的一部分。无论是在商业领域,还是在个人生活中,都有着广泛的应用。而如何快速、高效地生成二维码也成为了人们关注的焦点。本文将介绍如何通过并发使用Go和npm生成二维码。 一、Go语言生成二维码 Go...
    99+
    2023-09-01
    二维码 npm 并发
  • 你知道如何使用 Go 语言编写高效的 Laravel 接口吗?
    Go 语言是一种高性能的编程语言,而 Laravel 是一个流行的 PHP 框架,两者结合起来可以实现高效的接口开发。本文将介绍如何使用 Go 语言编写高效的 Laravel 接口。 首先,我们需要安装 Go 和 Laravel。如果您还没...
    99+
    2023-08-17
    laravel linux 接口
  • 你知道如何使用 Spring 存储来存储 Go 生成的二维码吗?
    Spring 是一个非常流行的 Java 开发框架,而 Go 则是一门快速、高效、现代化的编程语言。二维码是一种常见的二维码类型,用于存储和传输信息。本文将介绍如何使用 Spring 存储来存储 Go 生成的二维码,让您更好地管理和使用这些...
    99+
    2023-10-27
    存储 二维码 spring
  • 你知道如何使用索引提高Go语言程序的性能吗?
    当今的软件开发中,性能是一个非常重要的因素。为了提高程序的性能,我们需要在代码中使用一些技巧和工具。Go语言是一种非常流行的编程语言,它有着出色的性能和高效的并发机制。在本文中,我们将讨论如何使用索引提高Go语言程序的性能。 什么是索引? ...
    99+
    2023-07-03
    二维码 索引 面试
  • 你知道如何使用IDE和Shell来提高ASP接口的效率吗?
    当今互联网时代,ASP(Active Server Pages)作为一种常见的Web开发技术,已经被广泛应用于各种领域。然而,对于开发人员而言,如何提高ASP接口的效率,以及如何简化开发过程,一直是一个重要的课题。在本文中,我们将介绍如何使...
    99+
    2023-10-11
    接口 ide shell
  • 你知道如何使用LeetCode提高数据结构和算法能力吗?
    LeetCode是一个非常受欢迎的在线编程平台,它的目的是帮助开发人员提高他们的算法和数据结构能力。如果你想成为一名优秀的程序员,那么你一定需要掌握数据结构和算法。本文将介绍如何使用LeetCode来提高你的数据结构和算法能力。 LeetC...
    99+
    2023-07-10
    大数据 leetcode linux
  • 你知道如何使用ASP关键字和UNIX API来提高你的开发效率吗?
    ASP和UNIX是两个不同的平台,但它们都有一个共同点:它们都提供了许多关键字和API,可以帮助开发人员快速完成开发任务。在本文中,我们将探讨如何使用ASP关键字和UNIX API来提高你的开发效率。 ASP关键字 ASP(Active S...
    99+
    2023-06-17
    关键字 api unix
  • 你知道如何在PHP中使用NumPy和JavaScript来提高响应时间吗?
    PHP是一种广泛使用的服务器端脚本语言,用于网站开发和动态网页生成。在PHP中,NumPy和JavaScript可以用来提高响应时间,使网站更加快速和高效。在本文中,我们将探讨如何在PHP中使用NumPy和JavaScript来提高响应时间...
    99+
    2023-10-07
    numpy 响应 javascript
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作