在vue3项目中使用新版高德地图的完整步骤

yizhihongxing

请参考以下步骤:

步骤一:创建高德地图开发者账户

进入高德地图开发者平台,用你的个人账号登录或注册一个新账号。登录后进入"我的应用"页面,创建一个新的应用来获取 key 值。

步骤二:安装AMapJSAPI

在你的Vue 3项目根目录中安装AMapJSAPI模块依赖:

npm install @amap/amap-jsapi-loader

步骤三:配置AMapJSAPI模块

在你的Vue 3项目中的 main.js文件中,通过引用AmapJSLoader来实现对AMapJSAPI 的配置。例如:

import { createApp } from 'vue'
import App from './App.vue'
import AMapLoader from '@amap/amap-jsapi-loader';

const amapPromise = AMapLoader.load({
  key: '这里填写你从高德地图开发者平台获取的key值',
  version: '2.0',
  plugins: ['AMap.Geolocation', 'AMap.MarkerClusterer'],
  AMapUI: {
    version: '1.1',
    plugins: ['overlay/SimpleInfoWindow'],
  },
});

createApp(App).config.globalProperties.$amapPromise = amapPromise;
createApp(App).mount('#app');

这段代码中我们通过createApp方法为Vue 3应用配置了一个你可以全局访问的 Promise 对象 amapPromise

步骤四:在Vue 3项目使用AMapJSAPI

到这里我们就可以在你的Vue 3项目中使用AMapJSAPI模块了。通过在组件中引用 AMap 对象,我们可以直接使用地图相关的 API。例如:

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

<script>
export default {
  name: "MyMap",
  mounted: async function () {
    const AMap = await this.$amapPromise;
    const map = new AMap.Map("map", {
      zoom: 11,
      center: [116.397428, 39.90923],
    });
    const marker = new AMap.Marker({
      position: new AMap.LngLat(116.405467, 39.907761),
      title: "北京市"
    });
    marker.setMap(map);
  },
};
</script>

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

在这个示例中,我们在一个Vue组件内部引用了AMap实例,并创建了一个新的地图,并在地图上标记了一个名为“北京市”的新marker。

示例二:在Vue 3项目中使用高德地图JavaScript API SDK的高级组件

高德地图JavaScript API SDK提供了很多高级组件,方便你快速创建地图、搜索、路线等不同的功能。为了使用它们,首先我们需要在 main.js文件中添加一些配置,例如:

import { createApp } from 'vue'
import App from './App.vue'
import AMapLoader from '@amap/amap-jsapi-loader'

const amapPromise = AMapLoader.load({
  key: '这里填写你从高德地图开发者平台获取的key值',
  version: '2.0',
  plugins: [
    'AMap.Geolocation',
    'AMap.MarkerClusterer', 
    'AMap.ToolBar', 
    'AMap.Scale', 
    'AMap.OverView',
    'AMap.MapType',
    'AMap.PolyEditor',
    'AMap.CircleEditor'
  ],
  AMapUI: {
    version: '1.1',
    plugins: ['overlay/SimpleInfoWindow', 'misc/PositionPicker']
  }
});

createApp(App).config.globalProperties.$amapPromise = amapPromise;
createApp(App).mount('#app');

在上面的代码中,我们添加了一些常见的插件,并且增加了一个版本号,为了使用一些独立的功能。接下来,我们就可以在Vue 3组件中使用高德地图JavaScript API SDK的高级组件了,例如:

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

<script>
export default {
  name: "MyMap",
  mounted: async function () {
    const AMap = await this.$amapPromise;
    const map = new AMap.Map("map", {
      zoom: 11,
      center: [116.397428, 39.90923],
    });
    const positionPicker = new AMapUI.PositionPicker({
      mode: "dragMap",
      map: map
    });
    positionPicker.on("success", function(positionResult) {
      console.log(positionResult);
    });
    positionPicker.on("fail", function(positionResult) {
      console.log(positionResult);
    });
    positionPicker.start();
  },
};
</script>

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

在这个示例中,我们在Vue 3组件中使用了 AMapUI.PositionPicker,这是一个可拖动的地图位置选择器,并通过事件监听函数来处理它的输出结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在vue3项目中使用新版高德地图的完整步骤 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 关于spring中单例Bean引用原型Bean产生的问题及解决

    当然!下面是关于\”关于Spring中单例Bean引用原型Bean产生的问题及解决\”的完整攻略,包含两个示例说明。 … … … … … … … … … … … … … … … … … … … … … … …

    other 2023年8月20日
    00
  • c#缓存详解

    C# 缓存详解 缓存是一种常见的性能优化技术,可以提高应用程序的响应速度和吞吐量。在 C# 中,缓存可以通过多种方式实现,包括内存缓存、分布式缓存和客户端缓存等。本文详细讲解 C# 缓存的实现方式和注意事项,并提供两个示例说明。 内存缓存 内存缓存是一种将数据存储在内存中的缓存方式,可以快速读取和写入数据。在 C# 中,可以使用 MemoryCache 类实…

    other 2023年5月9日
    00
  • Win10预览版14367自制ISO镜像下载 32位/64位

    Win10预览版14367自制ISO镜像下载攻略 本攻略将详细介绍如何下载Win10预览版14367的自制ISO镜像,包括32位和64位版本。请按照以下步骤进行操作: 步骤一:准备工作 在开始之前,请确保您已经满足以下要求: 一台可靠的互联网连接的计算机。 足够的存储空间来保存ISO镜像文件。 了解您的计算机是32位还是64位系统。 步骤二:访问Micros…

    other 2023年7月28日
    00
  • 版本号16.0.3823.1005新版Office 2016下载地址泄露!只修复了部分Bug

    版本号16.0.3823.1005新版Office 2016下载地址泄露!只修复了部分Bug攻略 1. 背景信息 最新版本号为16.0.3823.1005的Office 2016的下载地址已经泄露。这个新版本主要是为了修复一些已知的Bug,而没有引入新的功能或改变现有功能。在本攻略中,我们将详细讲解如何下载和安装这个新版本的Office 2016。 2. 下…

    other 2023年8月2日
    00
  • asp.net下一个账号不允许多个用户同时在线,重复登陆的代码

    要实现ASP.NET下一个账号不允许多个用户同时在线、重复登录的功能,可以通过Session和Application实现。具体实现步骤如下: 在登录页面,获取用户名和密码,进行验证。如果验证通过,将用户名保存到Session中,并在Application对象中记录该用户名是否已登录。代码示例如下: protected void btnLogin_Click(…

    other 2023年6月27日
    00
  • 怎么查qq好友的地址?查qq好友ip地址

    如何查找QQ好友的地址和IP地址 如果你想查找QQ好友的地址或IP地址,以下是一些可能的方法: 方法一:通过QQ聊天窗口查找 打开QQ聊天窗口,选择你要查找的好友。 在聊天窗口中,点击好友的头像或昵称,打开好友资料页面。 在好友资料页面中,查找好友的个人信息,包括地址和IP地址。 示例说明: 假设你的好友是\”John\”,你可以按照以下步骤查找他的地址和I…

    other 2023年7月29日
    00
  • 通过配置.htaccess文件实现子目录绑定二级域名的方法

    下面是通过配置.htaccess文件实现子目录绑定二级域名的方法的完整攻略。 1. 编写.htaccess文件 在需要绑定二级子域名的子目录下创建或编辑.htaccess文件,并在里面添加以下代码(假设要绑定的子域名是subdomain.example.com): RewriteEngine on RewriteBase /subdirectory/ Rew…

    other 2023年6月27日
    00
  • Android中常用单位dp,px,sp之间的相互转换

    下面是“Android中常用单位dp,px,sp之间的相互转换的完整攻略”,包括单位的定义、转换公式、两个示例说明等方面。 单位的定义 在Android开发中,常用的单位有dp、px、sp等。以下是这些单位的定义: dp(density-independent pixel):密度无关像素,是一种基于屏幕密度的抽象单位,可以保证在不同屏幕密度的设备上显示相同的…

    other 2023年5月5日
    00
合作推广
合作推广
分享本页
返回顶部