vue移动端高德地图的使用及实现最简单的地图功能

news2024/12/23 15:03:27

目录

一、创建应用获取key

1、进入开放平台,按步骤注册成为开发者

2、 登录之后,点击头像,进入「应用管理」 页面「创建新应用」

3、 为应用添加 Key

二、配置

1、在public下的index.html中添加

2、 JSAPI key和安全密钥的使用

方式一:(无后端服务器,开发环境)

方式二:(有后端服务器)

三、使用

实现最简单的地图功能:

1、分布讲解

2、页面整体代码

3、效果图

注意事项


一、创建应用获取key

1、进入开放平台,按步骤注册成为开发者

高德开放平台 | 高德地图API

2、 登录之后,点击头像,进入「应用管理」 页面「创建新应用」

3、 为应用添加 Key

创建好的应用,点击添加

根据命名规范命名-->选 Web 端 ( JSAPI ) -->( 设置域名白名单,可选(建议设置域名白名单))-->选同意-->点击提交

添加成功后,可获取到key值安全密钥jscode

二、配置

1、在public下的index.html中添加

如果是移动端开发,请在`head`标签内添加`viewport meta`标签,以达到最佳的绘制性能;

 <meta name="viewport" content="width=device-width,initial-scale=1.0">

一般情况下,页面原来就存在,就不需要添加了

2、 JSAPI key和安全密钥的使用

方式一:(无后端服务器,开发环境)

JSAPI key搭配静态安全密钥以明文设置(不安全,建议开发环境用):

引入地图 JSAPI脚本之前增加设置 JSAPI 安全密钥的脚本标签,并将您的安全密钥「您申请的安全密钥」替换为您的安全密钥;(注意这个设置必须是在 JSAPI 的脚本加载之前进行设置,否则设置无效。)

在public下的index.html中添加

 <script type="text/javascript">
         window._AMapSecurityConfig = {
             securityJsCode:'您申请的安全密钥',
         }
 </script>
 <script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=您申请的key值"></script> 

方式二:(有后端服务器)

1)JSAPI key搭配代理服务器并携带安全密钥转发(安全)

引入地图 JSAPI脚本之前增加代理服务器设置脚本标签,设置代理服务器域名或地址,将下面示例代码中的「您的代理服务器域名或地址」替换为您的代理服务器域名或ip地址,其中_AMapService为代理请求固定前缀,不可省略或修改。(注意您这个设置必须是在 JSAPI 的脚本加载之前进行设置,否则设置无效。)

在public下的index.html中添加

<script type="text/javascript">
         window._AMapSecurityConfig = {
             serviceHost:'您的代理服务器域名或地址/_AMapService',  
             // 例如 :serviceHost:'http://1.1.1.1:80/_AMapService',
         }
 </script>
 <script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=您申请的key值"></script> 

2)后端代理服务器的设置

以 Nginx 反向代理为例,参考以下三个location配置,进行反向代理设置,分别对应自定义地图海外地图Web服务,其中自定义地图海外地图如果没有使用到相关功能也可以不设置。需要将以下配置中的“您的安全密钥”六个字替换为您刚刚获取的jscode安全密钥。如果您使用了多个key,需要在代理设置中根据 key来映射不同的安全密钥。

 server {
         listen       80;             #nginx端口设置,可按实际端口修改
         server_name  127.0.0.1;      #nginx server_name 对应进行配置,可按实际添加或修改
         
         # 自定义地图服务代理
         location /_AMapService/v4/map/styles {
             set $args "$args&jscode=您的安全密钥";
             proxy_pass https://webapi.amap.com/v4/map/styles;
         }
         # 海外地图服务代理
         location /_AMapService/v3/vectormap {
             set $args "$args&jscode=您的安全密钥";
             proxy_pass https://fmap01.amap.com/v3/vectormap;
         }
         # Web服务API 代理
         location /_AMapService/ {
             set $args "$args&jscode=您的安全密钥";
             proxy_pass https://restapi.amap.com/;
         }
 }

保存相关配置之后需要通过命令nginx -s reload 命令重新加载 nginx 配置文件

三、使用

实现最简单的地图功能:

1、分布讲解

在需要展示地图的页面,添加div标签作为地图容器,同时为该div指定id属性

 <div id="container"></div> 

通过css为地图容器指定高度、宽度

 #container {width:300px; height: 180px; }  

简单创建一个地图只需要一行代码,构造参数中的container为准备阶段添加的地图容器的id

 var map = new AMap.Map('container');

2、页面整体代码

<template>
 <div>
   <div id="container"></div>
 </div>
 </template>
 ​
 <script>
 export default {
   mounted() {
     // eslint-disable-next-line no-unused-vars,no-undef
     var map = new AMap.Map('container');
   }
 }
 </script>
 ​
 <style scoped>
 #container {width:100%; height: 480px; }
 </style>

3、效果图

注意事项

定位一般分为两种场景:移动端和PC,下面分别讲下这两个场景在使用定位过程中的一些注意事项。

移动端

移动端包括手机,pad和其它带有GPS定位芯片的智能设备(如手表、音箱等),移动端的系统包括iOS和Android。成功完成定位需要达成以下前提条件:

  1. 系统GPS打开
  2. 所使用的App或浏览器已获取定位权限
  3. 对打开的页面允许使用定位
  4. 对于iOS10以上系统和Android的一些版本已禁止在非HTTPS协议的域名下定位,请尽快将站点升级到HTTPS

注意,以上只是定位成功的前提条件,满足这些并不一定等于可以成功定位,定位还与当前位置(室内会影响GPS信息)、手机信号和定位权限等因素影响。

PC

因为pc设备上大都缺少GPS芯片,所以在PC上的定位主要通过IP精准定位服务,该服务的失败率在5%左右。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/25816.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

论文阅读09——《Deep Fusion Clustering Network》

论文阅读09——《Deep Fusion Clustering Network》 原文链接&#xff1a;论文阅读09——《Deep Fusion Clustering Network》 作者&#xff1a;Wenxuan Tu, Sihang Zhou, Xinwang Liu, Xifeng Guo, Zhiping Cai, En zhu, Jieren Cheng 发表时间&#xff1a;2021年5月18日 论文…

Java基础五大机制 —— SPI机制基础(一)

1、什么是SPI机制 SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;是JDK内置的一种 服务提供发现机制&#xff0c;可以用来启用框架扩展和替换组件&#xff0c;主要是被框架的开发人员使用&#xff0c;比如java.sql.Driver接口&#xff0c;其他不同厂商可…

Fast-DDS库的安装教程

Fast-DDS库的安装教程0 序言1 安装依赖2 安装Fast-DDS2.1 编译foonathan_memory_vendor2.2 编译Fast-CDR2.3 编译Fast-DDS2.4 编译Fast-DDS-Gen2.5 添加环境变量2.6 验证3 参考资料4 写在最后工欲善其事,必先利其器。首先要知道 Fast-DDS是什么&#xff1f;要知道 Fast-DDS是什…

wy的leetcode刷题记录_Day48

wy的leetcode刷题记录_Day48 声明 本文章的所有题目信息都来源于leetcode 如有侵权请联系我删掉! 时间&#xff1a;2022-11-21 前言 补前几天的blog 目录wy的leetcode刷题记录_Day48声明前言808. 分汤题目介绍思路代码收获654. 最大二叉树题目介绍思路代码收获808. 分汤 今…

Boc-QAR-AMC,CAS号:201849-55-0/113866-20-9

胰蛋白酶的高反应性底物&#xff0c;前列腺素和matriptase的荧关底物 编号: 199467中文名称: 标记肽Boc-QAR-7-氨基-4-甲基香豆素.HCl英文名: Boc-Gln-Ala-Arg-AMCCAS号: 201849-55-0/113866-20-9单字母: Boc-QAR-AMC三字母: Boc-Gln-Ala-Arg-AMC氨基酸个数: 3分子式: C29H42O8…

低代码维格云常用组件入门教程

1. 维格云常用组件功能简介 工作区的成员可以根据自己的业务习惯,将工作区内的应用、门户添加到常用组件。添加后成员可以直接从门户的常用组件中操作相应的应用、门户 2. 维格云常用组件配置方式 2.1 添加常用组件 在门户中拖拽或点击添加常用组件2.2 设置组件标题 在右侧编…

中学化学教学参考杂志社中学化学教学参考编辑部2022年第15期目录

刊庆专稿 试论“文化化学”教学思想的实践意义与样态 刘英琦; 1-4 课改在线《中学化学教学参考》投稿&#xff1a;cn7kantougao163.com 凝练观念 重构实践 引领评价——谈《义务教育化学课程标准(2022年版)》的修订 周青; 4-6 领悟化学课程的育人标准——基于《义务…

阿里、字节等神创,必须是全网最全的Netty核心原理手册

时间飞逝&#xff0c;转眼间毕业七年多&#xff0c;从事 Java 开发也六年了。我在想&#xff0c;也是时候将自己的 Java 整理成一套体系。 这一次的知识体系面试题涉及到 Java 知识部分、性能优化、微服务、并发编程、开源框架、分布式等多个方面的知识点。 写这一套 Java 面试…

【SpringBoot笔记28】SpringBoot集成ES数据库之操作doc文档(创建、更新、删除、查询)

这篇文章&#xff0c;主要介绍SpringBoot集成ES数据库之操作doc文档&#xff08;创建、更新、删除、查询&#xff09;。 目录 一、SpringBoot操作ES文档数据 1.1、创建文档 1.2、更新文档 1.3、删除文档 1.4、查询文档 1.5、判断文档是否存在 1.6、批量创建文档 一、Spr…

高手系列!数据科学家私藏pandas高阶用法大全 ⛵

&#x1f4a1; 作者&#xff1a;韩信子ShowMeAI &#x1f4d8; 数据分析实战系列&#xff1a;https://www.showmeai.tech/tutorials/40 &#x1f4d8; 本文地址&#xff1a;https://www.showmeai.tech/article-detail/394 &#x1f4e2; 声明&#xff1a;版权所有&#xff0c;转…

CubeMX+VSCode+Ozone的STM32开发工作流(二)VSCode环境配置

neozng1hnu.edu.cn 本教程的示例代码是笔者参加RoboMaster机甲大师赛为机器人编写的控制器框架&#xff0c;你可以直接克隆仓库&#xff0c;阅读仓库下的Markdown文档获得更好的体验&#xff0c;记得点一个小⭐: basic_framework: basic_framework (gitee.com)所有安装包也可以…

OceanBase TableAPI实践案例(Rust)

引子 这是OceanBase TableAPI实践案例&#xff08;Java&#xff09;的姊妹篇&#xff0c;上一篇比较全面的比较全面的介绍了TableAPI的相关概念&#xff0c;以及基本的环境搭建&#xff0c;因此这篇不再赘述。本文将主要介绍TableAPI的Rust客户端obkv-table-client-rs &#x…

Visio画图更改连接线的弧形和调整跨线

目录前言准备参考问题解决问题一解决问题二前言 最近在使用Visio画图时&#xff0c;出现了一些问题&#xff0c;于是上网查了一下&#xff0c;将方法记录下来。 准备 Visio2021 参考 Visio中&#xff0c;如何修改连接线的跨线样式&#xff1f; 问题 (1) 使用连接线的时候…

【微信小程序】使用 Cryptojs 解密微信绑定手机号码

很抱歉断更了一段时间&#xff0c;因为最近在做一个项目比较忙&#xff0c;正好项目中小程序板块需要解密手机号码来提交给接口&#xff0c;小程序中虽然提供了获取手机号按钮点击事件&#xff1a;bindgetphonenumber&#xff0c;但是该事件的处理函数中只能获取到加密过的手机…

新力量,新希望|明道云伙伴大会2022秋圆满落幕

2022年10月28日至29日&#xff0c;明道云伙伴大会&#xff08;2022年秋&#xff09;在上海顺利举办。来自北京大兴国际机场、广汽本田、京东方、天津钢管、深圳龙华区卫健局、可口可乐、山东移动、浙江移动、上海电气数科、金科信息、艾默生电气等超过五百位参会者同台交流。行…

工业物联网的数据集成

随着网关技术的不断发展&#xff0c;创新、高效的软件解决方案及IT架构在工业物联网系统架构中将发挥着更为重要的作用。其中&#xff0c;工业物联网集成工业数据的一个关键问题在于如何利用软件、IT和创新算法来部署网络解决方案&#xff0c;从而使得生产效率更高。 &#xff…

Java中 this 和 super 的用法与区别

在Java的学习与开发者我们经常遇到this和super关键字&#xff0c;那么它们的用法和区别是什么呢&#xff1f; 一、this关键字 1.this是什么&#xff1f; this 是自身的一个对象&#xff0c;代表对象本身&#xff0c;可以理解为&#xff1a;指向对象本身的一个指针。 2.this…

javaScript之数组中reduce的详细介绍及使用

一、reduce功能接受及定义&#xff08;自我理解&#xff09; reduce方法为数组中的一个高阶函数&#xff0c;接受两个参数&#xff0c;第一个参数为回调函数&#xff0c;第二个为初始值。如果不给入初始值则会以数组第一项为初始值&#xff01;reduce会循环数组每一项&#xf…

数据库-深度剖析mysql索引原理(上)(三)

目录 一、什么是索引 二、索引由来 三、索引本质 四、索引数据结构 1、hsah 2、Btree 五、myISAM 和Innodb这两个数据库的索引是如何实现的呢&#xff1f; 1、首先看 MYSAM 1、以主键Id字段建立索引 2、以name字段来建立索引 2、在看Innodb数据库引擎的数据库 1、以…

Linux安装Jenkins详细步骤

安装jdk yum安装不需要配置环境变量 安装maven 下载maven 压缩包上传至服务器 解压缩 修改maven配置文件镜像地址 配置环境变量 安装Git 安装Jenkins war包下载 安装运行Jenkins 安装jdk 【Linux】Linux8 安装 JDK&#xff08;适用于各个版本&#xff09;_写bug的程…