springboot + Vue前后端项目(第二十记)

项目实战第二十记

  • 写在前面
  • 1. 高德地图官网
  • 2. 开发文档
  • 3. 集成高德地图
    • 3.1 在public文件夹下创建config.js
    • 3.2 index.html(在项目启动文件中引入外部的js)
    • 3.3 点标记(用点标记当前位置)
    • 3.4 信息窗体(点击当前位置,弹出当前位置信息介绍)
    • 3.5 路线规划(行车轨迹)
    • 3.6 定位(定位所在城市位置)
  • 总结
  • 写在最后

写在前面

本篇主要讲解系统集成高德地图的简单应用

1. 高德地图官网

https://lbs.amap.com/

a, 在控制台下创建应用

b, 添加key(后面开发需要用上key和秘钥)

在这里插入图片描述

2. 开发文档

开发文档说明地址
获取某个地方的经纬度链接

3. 集成高德地图

3.1 在public文件夹下创建config.js

如下图所示:

在这里插入图片描述

var gloableConfig = {"key": "21e6448a80093b98bbe496326xxx", // 高德地图的key(配合秘钥使用的key)开发环境使用"secretKey": "d41253368f29e52ce9eaed3d6xxx", // 高德地图的秘钥(配合key使用的秘钥)开发环境使用
};

3.2 index.html(在项目启动文件中引入外部的js)

<!DOCTYPE html>
<html lang=""><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><%= htmlWebpackPlugin.options.title %></title></head><body><noscript><strong>We're sorry but <%= htmlWebpackPlugin.options.title %> 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 src="./static/config.js"></script><script type="text/javascript">// 高德地图秘钥,必须在加载JSAPI load.js文件之前window._AMapSecurityConfig = {securityJsCode: gloableConfig.secretKey  // 开发环境使用}</script>// xxx写自己的key<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=xxx&plugin=AMap.Driving&plugin=AMap.CitySearch&AMap.Geolocation"></script></body>
</html>

== 注: static 文件夹下的config.js(用来绑定秘钥)==

var gloableConfig = {"key": "21e6448a80093b98bbe496326979xxx", // 高德地图的key(配合秘钥使用的key)开发环境使用"secretKey": "d41253368f29e52ce9eaed3d63xxx", // 高德地图的秘钥(配合key使用的秘钥)开发环境使用
};

3.3 点标记(用点标记当前位置)

通过菜单管理建立高德地图菜单,并新建Map.vue组件

<template><div><div id="container" style="width: 100%;height: calc(100vh - 100px)"></div></div>
</template>
<script>
export default {name: "Map",data(){return {};},created(){},mounted(){// 创建地图实例const map = new AMap.Map("container", {zoom: 13, //地图级别// 滕王阁经纬度center: [115.88112000000001, 28.681510000000014],// mapStyle: "amap://styles/whitesmoke", //设置地图的显示样式// viewMode: "2D", //设置地图模式});//知识点1(点标记),创建一个 Marker 实例:const marker = new AMap.Marker({position: new AMap.LngLat(115.88112000000001, 28.681510000000014),//position: new AMap.LngLat(116.39, 39.9), //经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]title: "滕王阁",});//将创建的点标记添加到已有的地图实例:map.add(marker);},
}
</script>

效果图如下所示:
在这里插入图片描述

3.4 信息窗体(点击当前位置,弹出当前位置信息介绍)

<template><div><div id="container" style="width: 100%;height: calc(100vh - 100px)"></div></div>
</template>
<script>
export default {name: "Map",data(){return {};},created(){},mounted(){// 创建地图实例const map = new AMap.Map("container", {zoom: 13, //地图级别//115.938187,28.6839center: [115.938187, 28.6839],//center: [116.397428, 39.90923], //地图中心点 北京// mapStyle: "amap://styles/whitesmoke", //设置地图的显示样式// viewMode: "2D", //设置地图模式});//知识点1(点标记),创建一个 Marker 实例:const marker = new AMap.Marker({position: new AMap.LngLat(115.88112000000001, 28.681510000000014),//position: new AMap.LngLat(116.39, 39.9), //经纬度对象,也可以是经纬度构成的一维数组[116.39, 39.9]title: "滕王阁",});// 知识点2,定义信息窗体//信息窗体的内容var content = ["<div><b>滕王阁</b></b>","电话 : 0791-xxx   邮编 : 3300xxx","地址 :  江西省南昌市青山湖区xxxx</div>",];//创建 infoWindow 实例var infoWindow = new AMap.InfoWindow({content: content.join("<br>"), //传入字符串拼接的 DOM 元素anchor: "top-left",   // 显示位置});//  当点击地图某个点获取经纬度var clickHandler = function(e) {console.log('您在[ '+e.lnglat.getLng()+','+e.lnglat.getLat()+' ]的位置点击了地图!');//打开信息窗体infoWindow.open(map, map.getCenter()); //map 为当前地图的实例,map.getCenter() 用于获取地图中心点坐标。};marker.on('click',clickHandler);//将创建的点标记添加到已有的地图实例:map.add(marker);},
}
</script>

效果图如下:
在这里插入图片描述

3.5 路线规划(行车轨迹)

<template><div><div id="container" style="width: 100%;height: calc(100vh - 100px)"></div></div>
</template>
<script>
export default {name: "Map",data(){return {};},created(){},mounted(){// 创建地图实例const map = new AMap.Map("container", {zoom: 13, //地图级别//115.938187,28.6839// center: [115.938187, 28.6839],//center: [116.397428, 39.90923], //地图中心点 北京// mapStyle: "amap://styles/whitesmoke", //设置地图的显示样式// viewMode: "2D", //设置地图模式});// 3, 路径规划,需要密钥的配置AMap.plugin("AMap.DragRoute", function () {//path 是驾车导航的起、途径和终点,最多支持16个途经点var path = [];path.push([116.303843, 39.983412]);path.push([116.321354, 39.896436]);path.push([116.407012, 39.992093]);var route = new AMap.DragRoute(map, path, 0);//查询导航路径并开启拖拽导航route.search();});},
}
</script>

效果图如下所示:
在这里插入图片描述

3.6 定位(定位所在城市位置)

<template><div><div id="container" style="width: 100%;height: calc(100vh - 100px)"></div></div>
</template>
<script>
export default {name: "Map",data(){return {};},created(){},mounted(){// 创建地图实例const map = new AMap.Map("container", {zoom: 13, //地图级别//115.938187,28.6839// center: [115.938187, 28.6839],//center: [116.397428, 39.90923], //地图中心点 北京// mapStyle: "amap://styles/whitesmoke", //设置地图的显示样式// viewMode: "2D", //设置地图模式});// 4,定位城市信息  需要引入好插件  (定位不准确)AMap.plugin('AMap.CitySearch', function () {var citySearch = new AMap.CitySearch()citySearch.getLocalCity(function (status, result) {if (status === 'complete' && result.info === 'OK') {//查询成功,result即为当前所在城市信息map.setCity(result.city);console.log('===>',result);}})})},
}
</script>

result的数据结构:

{adcode: "360000"bounds: {className: 'AMap.Bounds', southWest: t, northEast: t}city: "南昌市"info: "OK"infocode: "10000"province: "江西省"rectangle: "115.6786001,28.48182853;116.1596596,28.86719757"status: "1"
}

效果如下所示:
在这里插入图片描述

总结

在系统中简单的使用高德地图

写在最后

如果此文对您有所帮助,请帅戈靓女们务必不要吝啬你们的Zan,感谢!!不懂的可以在评论区评论,有空会及时回复。
文章会一直更新

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

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

相关文章

【MAVEN学习 | 第2篇】Maven工程创建及核心功能

文章目录 一. 基于IDEA的Maven工程创建1.1 Maven工程GAVP属性&#xff08;1&#xff09;GroupID 格式&#xff08;2&#xff09;ArtifactID 格式&#xff08;3&#xff09;Version版本号格式&#xff08;4&#xff09;Packaging定义规则 1.2 IDEA构建Maven JavaSE工程1.3 IDEA构…

Termius:现代化的SSH客户端,让服务器管理变得优雅简洁

Termius简介 是一款现代化的跨平台终端模拟器和SSH客户端。以下是对Terminus的介绍以及使用它的理由&#xff1a; 跨平台兼容性&#xff1a; Terminus支持Windows、macOS、Linux、IOS和Android&#xff0c;让用户在不同操作系统间保持一致的终端体验。优雅的用户界面&#xf…

通达信机构买卖抓牛指标公式源码

通达信机构买卖抓牛指标公式源码&#xff1a; X_1:V/CLOSE/2; X_2:SUM(IF(X_1>100 AND CLOSE>REF(CLOSE,1),X_1,0),0); X_3:SUM(IF(X_1>100 AND CLOSE<REF(CLOSE,1),X_1,0),0); X_4:SUM(IF(X_1<100 AND CLOSE>REF(CLOSE,1),X_1,0),0); X_5:SUM(IF(X_1&l…

ATA-7025:高压放大器的原理是怎样的

高压放大器是一种电子器件&#xff0c;主要用于将输入信号的电压放大到更高的水平。它在许多领域中都有重要的应用&#xff0c;包括医学影像设备、科学研究装置、激光系统等。高压放大器的原理涉及到放大器的工作原理、电路结构、工作特性等多个方面。下面将从这些方面对高压放…

.net core接入nacos注册服务并使用配置中心

1、安装依赖 Nuget包&#xff1a;nacos-sdk-csharp.Extensions.Configuration和nacos-sdk-csharp.AspNetCore 2、在appsettings.json中配置 "nacos": {"ServerAddresses": ["http://localhost:8848/"],"DefaultTimeOut": 15000,"…

各省药品集中采购平台-地方药品集采分析数据库

国家第十批药品集中采购的启动时间暂未明确&#xff0c;但即将到来&#xff0c;在5月&#xff0c;国家医保局发布了《关于加强区域协同做好2024年医药集中采购提质扩面的通知》&#xff0c;其中明确指出将“开展新批次国家组织药品和医用耗材集中带量采购&#xff0c;对协议期满…

Vue2 - 项目上线后生产环境中去除console.log的输出以及断点的解决方案

前言 当你准备将Vue.js应用程序部署到生产环境时,一个关键的优化步骤是移除代码中的所有 console.log 语句以及断点。在开发阶段,console.log 是一个非常有用的调试工具,但在生产环境中保留它们可能会影响性能和安全性。在本文中,我将向你展示如何通过使用Vue CLI 2来自动…

大语言模型在医疗领域的进展、应用和挑战_医疗大语言模型算法csdn

### 概述 本文综述了医学领域大型语言模型&#xff08;LLM&#xff09;的进展、应用和面临的挑战。大型语言模型如ChatGPT在理解和生成人类语言方面显示出了显著的能力&#xff0c;引起了广泛关注。在医学领域&#xff0c;研究人员正致力于利用LLM支持各种医疗任务&#xff0c…

13 Redis-- MySQL 和 Redis 的数据一致性

Redis-- MySQL 和 Redis 的数据一致性 先抛一下结论&#xff1a;在满足实时性的条件下&#xff0c;不存在两者完全保存一致的方案&#xff0c;只有最终一致性方案。

FlinkX学习

FlinkX学习 FlinkX安装 由于flinkx已经改名chunjun 官网已不存在 (https://gitee.com/lugela/flinkx#flinkx)这里可以看到flinkx的操作文档 1、上传并解压 unzip flinkx-1.10.zip -d /usr/local/soft/2、配置环境变量 FLINKX_HOME/usr/local/soft/flinkx-1.10 export PATH$F…

STL-迭代器

1.迭代器 1.1正向迭代器 正向迭代器是用一个类封装的&#xff0c;迭代器类。例如&#xff1a;在vector&#xff0c;string中的迭代器就相当于一个指针&#xff0c;在list类中用一个类来封装一个节点&#xff0c;实质上也还是一个指针&#xff0c;迭代器就相当于指向一个节点的…

背靠广汽、小马智行,如祺出行打得过滴滴和百度吗?

©自象限原创 作者丨艾AA 编辑丨薛黎 北京时间6月14日凌晨&#xff0c;在特斯拉股东大会上&#xff0c;马斯克阐述了对Robotaxi&#xff08;自动驾驶出租车&#xff09;商业模式的构想——特斯拉不仅会运营自己的无人驾驶出租车车队&#xff0c;还可以让特斯拉车主们的爱…

微服务开发 —— 项目环境搭建篇

环境搭建 Linux 环境搭建 Linux 环境搭建大家可以使用虚拟机 VMware、VirtualBox 等应用创建虚拟机&#xff0c;使用Vagrant也可以快捷搭建虚拟环境&#xff1b;Windows 中有 WSL2&#xff0c;Windows 中的 Docker 也对 WSL 进行了支持&#xff0c;也是一个不错的选择。或者可…

Windows - 像Linux一样使用alias

前言 阅读本文约2分钟 说明 使用doskey命令 设置别名 查看当前目录 doskey lldir 激活conda的spider环境 doskey spiderconda activate spider 退出conda环境 doskey condaqconda deactivate 查看所有别名 doskey /macros

实现设计开挂|如何设计出坚不可摧的网球拍?

数字揭秘 我们发现自己可能偶尔会以过激的方式表达沮丧或愤怒&#xff0c;哪怕是在公共场合。就算是世界级的网球运动员也无法避免偶尔的情绪爆发&#xff0c;他们有时会砸球拍来释放被压抑的情绪或应对来自竞赛的压力。 网球运动员的情绪爆发已被证明是不可避免的。哪怕是包括…

Linux系统相关函数总结

在应用程序当中&#xff0c;有时往往需要去获取到一些系统相关的信息&#xff0c;譬如时间、日期、以及其它一些系统相关信息&#xff0c;本章将向大家介绍如何通过 Linux 系统调用或 C 库函数获取这些系统信息。除此之外&#xff0c;还会向大家介绍 Linux 系统下的/proc 虚拟文…

浏览器插件利器-allWebPluginV2.0.0.14-beta版发布

allWebPlugin简介 allWebPlugin中间件是一款为用户提供安全、可靠、便捷的浏览器插件服务的中间件产品&#xff0c;致力于将浏览器插件重新应用到所有浏览器。它将现有ActiveX插件直接嵌入浏览器&#xff0c;实现插件加载、界面显示、接口调用、事件回调等。支持谷歌、火狐等浏…

js删除el-table删除新增项,有的已经保存有的未经保存

有时候在弹窗中的弹窗要删除数据,有的是刚新增进来的,没有经过保存就没有id,有的已经保存过就有id 根据情况设定是否为编辑模式,如果为编辑模式就需要进行筛选删除及接口,如果不是编辑模式,只需要进行筛选删除 this.editFlag true; // 为编辑模式// 删除伤亡名单handelDel() …

数据库管理系统(DBMS)

一.数据库管理系统 1.简介 数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件&#xff0c;用于建立、使用和维护数据库&#xff0c;简称DBMS。它对数据库进行统一的管理和控制&#xff0c;以保证数据库的安全性和完整性。用户通过DBMS访问数据库中…

【PWN · ret2libc | protobuf】[2024CISCN · 华中赛区]protoverflow

套了一层protobuf壳&#xff0c;然后就是简单的ret2libc 参考速递&#xff1a;深入二进制安全&#xff1a;全面解析Protobuf-CSDN博客 前言 第一次遇到protobuf&#xff0c;如果没有了解过&#xff0c;是显然做不出来的。此次复现&#xff0c;也算是点亮了一个技能点 一、什么…