SpringBoot2+Vue2实战(十五)高德地图集成

news2024/11/28 18:49:42

1.地图官网:

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

 2.开发文档(web js)

 正式集成:

1.再index.html中引入script标签

<script type="text/javascript" src="https://webapi.amap.com/maps?v=2.0&key=您申请的key值"></script>

一、点标记

Map.vue

<div>
    <div id="container" style="width: 100%;height: calc(100vh - 100)"></div>
  </div>



//页面元素加载完之后引用
  mounted() {
    //创建地图实例
    var map = new AMap.Map("container", {
      zoom: 13,
      center:[116.29537571881102,39.842559532456974],
      resizeEnable:true,
      mayStyle:'amap://styles/whitesmoke'
    })
    var marker = new AMap.Marker({
      //经纬度对象,也可以时经纬度构成的一堆数组[116.39,39.9]
      position: new AMap.LngLat(116.29537571881102, 39.842559532456974),
      title: '北京丰台医院',
    })
    //将创建的点标记添加到已有的地图实例
    map.add(marker);
  },

点击事件:

 //页面元素加载完之后引用
  mounted() {
    //创建地图实例
    var map = new AMap.Map('container', {
      zoom: 13,
      center: [116.29537571881102, 39.842559532456974],
    })

    var clickHandler = function(e){
      alert('您在['+e.lnglat.getLng()+','+e.lnglat.getLat()+']的位置点击了地图')
    }
    /*//绑定事件
    map.on('click',clickHandler)*/

    var marker = new AMap.Marker({
      //经纬度对象,也可以时经纬度构成的一堆数组[116.39,39.9]
      position: new AMap.LngLat(116.29537571881102, 39.842559532456974),
      title: '北京丰台医院',
      icon:'//vdata.amap.com/icons/b18/1/2.png',
      /*content:'<div style="font-size: 12px;width: 100px">这是我自定义的内容</div>'*/
    });
    marker.on('click',clickHandler)
    //将创建的点标记添加到已有的地图实例
    map.add(marker);
  },

二、信息窗口和右键菜单

var content = [
    "<div>这是信息窗口</div>"
];


var infoWindow = new AMap.InfoWindow({
      anchor:'top-right',
      //传入dom对象,或者html字符串
      content:content.join("<br>")
    });



 var clickHandler = function(e){
      alert('您在['+e.lnglat.getLng()+','+e.lnglat.getLat()+']的位置点击了地图')

      infoWindow.open(map,map.getCenter())
    }

三、路线规划

//path是驾驶导航的起,途径和终点,最多支持16个途径点
    var path = []
    path.push([116.303843,39.983412])
    path.push([116.321354,39.896436])
    path.push([116.407012,39.992093])
    
    map.plugin('AMap.DragRoute',function (){
      var router = new AMap.DragRoute(map,path,AMap.DrivingPolicy.LEAST_FEE)
      //查询导航路径并开启拖拽导航
      router.search()
    })

   var polyLine = new AMap.Polyline({
      path: path,
      strokeWeight:5,
      borderWeight:5,
      strokeStyle:"solid",
      strokeColor:'#DC143C',
      lineJoin:'round'
    })
    map.add(polyLine)

四、定位

<div id="info"></div>


function showCityInfo() {
  //实例化城市查询类
  var citysearch = new AMap.CitySearch();
  //自动获取用户ip,返回当前城市
  citysearch.getLocalCity(function (status, result) {
    if (status === 'complate' && result.bounds) {
      if (result && result.city && result.bounds) {
        var cityinfo = result.city
        var citybounds = result.bounds
        document.getElementById('info').innerHTML = '您当前所在城市' + cityinfo;
        //地图显示当前城市
        map.setBounds(citybounds)
      }
    } else {
      document.getElementById('info').innerHTML = result.info;
    }
  });
}



showCityInfo()

完整代码

<template>
  <div id="container" style="width: 100%;height: calc(100vh - 100)"/>

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

<script>

var content = [
  "<div style='font-size: :14px;color: red;width: 200px;height: 50px'>这是信息窗口</div>"
];


function showCityInfo() {
  //实例化城市查询类
  var citysearch = new AMap.CitySearch();
  //自动获取用户ip,返回当前城市
  citysearch.getLocalCity(function (status, result) {
    if (status === 'complate' && result.bounds) {
      if (result && result.city && result.bounds) {
        var cityinfo = result.city
        var citybounds = result.bounds
        document.getElementById('info').innerHTML = '您当前所在城市' + cityinfo;
        //地图显示当前城市
        map.setBounds(citybounds)
      }
    } else {
      document.getElementById('info').innerHTML = result.info;
    }
  });
}


export default {
  name: "Map",
  data() {
    return {}
  },

  created() {

  },
  //页面元素加载完之后引用
  mounted() {
    //创建地图实例
    var map = new AMap.Map('container', {
      zoom: 13,
      center: [116.29537571881102, 39.842559532456974],
    })

    var infoWindow = new AMap.InfoWindow({
      anchor: 'top-right',
      //传入dom对象,或者html字符串
      content: content.join("<br>")
    });

    var clickHandler = function (e) {
      alert('您在[' + e.lnglat.getLng() + ',' + e.lnglat.getLat() + ']的位置点击了地图')

      infoWindow.open(map, map.getCenter())
    }
    /*//绑定事件
    map.on('click',clickHandler)*/

    var marker = new AMap.Marker({
      //经纬度对象,也可以时经纬度构成的一堆数组[116.39,39.9]
      position: new AMap.LngLat(116.29537571881102, 39.842559532456974),
      title: '北京丰台医院',
      icon: '//vdata.amap.com/icons/b18/1/2.png',
      /*content:'<div style="font-size: 12px;width: 100px">这是我自定义的内容</div>'*/
    });
    marker.on('click', clickHandler)

    //将创建的点标记添加到已有的地图实例
    map.add(marker);


    //path是驾驶导航的起,途径和终点,最多支持16个途径点
    var path = []
    path.push([116.303843, 39.983412])
    path.push([116.321354, 39.896436])
    path.push([116.407012, 39.992093])

    map.plugin('AMap.DragRoute', function () {
      var router = new AMap.DragRoute(map, path, AMap.DrivingPolicy.LEAST_FEE)
      //查询导航路径并开启拖拽导航
      router.search()
    })

    var polyLine = new AMap.Polyline({
      path: path,
      strokeWeight: 5,
      borderWeight: 5,
      strokeStyle: "solid",
      strokeColor: '#DC143C',
      lineJoin: 'round'
    })
    map.add(polyLine)


    showCityInfo()

  },
  methods: {}
}
</script>

<style>

</style>

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

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

相关文章

第五章 PCIe介绍 5.1-5.7

5.1 从PCIe的速度说起 为什么SSD要用PCIe接口&#xff1f;因为它快&#xff0c;比SATA快。 Lane&#xff1a;通道&#xff0c;PCIe最多可以有32个通道。 1. PCIe的工作模式 两个设备之间的PCIe连接&#xff0c;叫做一个Link。如下图&#xff0c;设备A和设备B是个双向连接&#…

【读书笔记】只管去做

《只管去做》是一本很容易读完的书&#xff0c;这本书是以故事的形式来阐述把愿景落实到每天的行动中的方法&#xff0c;对我们做人生规划很有帮助。

使用leaflet在html中加载天地图且去掉左上角的缩放图标以及右下角的logo

前言 我们这一节使用轻量化的javascript库leaflet来实现在html中加载天地图&#xff0c;实现类似高德地图、百度地图的效果。 效果图如下&#xff1a; 话不多说&#xff0c;进入主题&#xff01;&#xff01; 一、注册开发者权限 我们需要在天地图平台注册一个账号&#xff0…

【Qt】VS2013+QT5.6.3环境搭建

安装VS2013 略 安装Qt 安装文件&#xff1a;qt-opensource-windows-x86-msvc2013-5.6.3.exe&#xff08;官网已经不提供下载了。&#xff09; 安装步骤&#xff1a;安装到C盘根目录&#xff0c;其它略。 安装qt vs插件 1、下载地址&#xff1a; https://download.qt.io/a…

string常见功能模拟

学到string终于就不用像c语言一样造轮子了&#xff0c;接下来我们就模拟一下string方便我们更好理解string&#xff0c;首先我们都知道库里有个string&#xff0c;所以为了避免我们的string和库里的冲突&#xff0c;要用命名空间my_string将我们写的string包含在内。string的成…

精准医学时代:探索人工智能在DCA曲线下的临床医学应用

一、引言 在当今医学领域中&#xff0c;精准医学作为一种以个体差异为基础的医疗模式逐渐受到重视和应用[1]。精准医学基于个体基因组、环境和生活方式因素的综合分析&#xff0c;旨在实现个体化的预防、诊断和治疗方案&#xff0c;从而提供更好的临床结果[2]。与传统医学相比&…

MACD进阶版指标公式,提前一天判断MACD金叉

MACD是一种常用的技术分析指标&#xff0c;用于判断价格的趋势和动能&#xff0c;其原理是基于两条指数移动平均线的比较和对价格的平滑处理&#xff0c;MACD金叉是指MACD指标中的快线DIF从下方向上穿过慢线DEA。快线、慢线都是根据收盘价计算出来的&#xff0c;如果想提前一天…

STM32基础知识点总结

一、基础知识点 1、课程体系介绍 单片机概述arm体系结构STM32开发环境搭建 STM32-GPIO编程-点亮世界的那盏灯 STM32-USART串口应用SPI液晶屏 STM32-中断系统 STM32-时钟系统 STM32-ADC DMA 温湿度传感器-DHT11 2.如何学习单片机课程 多听理论、多理解、有问题及时提问 自己多…

论文阅读:基于深度学习的大尺度遥感图像建筑物分割研究

一、该网络中采用了上下文信息捕获模块。通过扩大感受野&#xff0c;在保留细节信息的同时&#xff0c;在中心部分进行多尺度特征的融合&#xff0c;缓解了传统算法中细节信息丢失的问题&#xff1b;通过自适应地融合局部语义特征&#xff0c;该网络在空间特征和通道特征之间建…

时间序列预测 | Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测| Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测 评价指标包括:MAE、MBE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warni…

2023年开放式蓝牙耳机选购指南!多款热门开放式蓝牙耳机品牌盘点

前言 大家好&#xff0c;作为专注耳机研究多年的发烧级爱好者&#xff0c;毫不夸张地说我为耳机花的钱比买衣服还多&#xff0c;很多人都在问我开放式耳机到底有没有必要买&#xff1f;答案毫无疑问是有必要&#xff01;开放式耳机佩戴舒适又安全的特质让它在耳机届风靡&#…

zabbix server is not running错误解决方法

1.错误&#xff1a;zabbix server is not running 打开zabbix server的时候&#xff0c;底部飘着一行黄色的警告字 2.解决方法 (1)关闭selinux (2)查看日志文件 #tail -f /var/log/zabbix/zabbix_server.log 发现内存溢出了 __zbx_mem_realloc(): out of memory 那…

vitepress使用

vitepress使用 初始化项目 pnpm init pnpm add vitepress vue 创建一个docs文件夹 在docs下新建index.js文件 # Hello VitePress在package.json中增加打包以及运行的指令 "scripts": {"docs:dev": "vitepress dev docs", // 本地运行调试&qu…

springboot高校党务系统

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.3.9

实力认可丨通付盾上榜《嘶吼2023网络安全产业图谱》31项细分领域

7月10日&#xff0c;嘶吼安全产业研究院联合国家网络安全产业园区&#xff08;通州园&#xff09;正式发布《嘶吼2023网络安全产业图谱》。通付盾入围本次图谱的基础技术与通用能力、网络与通信安全、安全服务、应用与产业安全、数据安全、开发与应用安全六大类别&#xff0c;3…

day32-Oracle+servlet

0目录 Oraclejdbcjspservlet 1.准备物料 1.1 创建Maven工程&#xff0c;导入依赖 方法1&#xff1a;在maven本地仓库repo中放入下载好的jar包 方法2&#xff1a;换版本&#xff0c;引入依赖 <dependency> <groupId>com.oracle.database.jdbc</groupId>…

x3550M5服务器,2008r2系统,关机后再开机,提示需要系统修复

问题现象&#xff1a; x3550M5服务器&#xff0c;2008r2系统&#xff0c;关机后再开机&#xff0c;提示需要修复&#xff0c;选择语言&#xff0c;点击下一步&#xff0c;选择操作系统一栏是空白的 &#xff08;加载前的图忘记拍&#xff09; 问题分析&#xff1a; 根据网上…

关于c/c++中的isdigit()函数(判断一个字符是不是数字字符)

1&#xff1a;做用&#xff1a;判断一个字符是不是数字字符&#xff08;即&#xff1a;相当于&#xff1a;s[i]>0&&s[i]<9&#xff09; 2&#xff1a;使用方式 char cA; string s"123fgv"; if(isdigit(c)); if(isdigit(s[i]))//返回bool类型 3&…

服务端⾼并发分布式结构演进之路

1.前置概念 应⽤&#xff08;Application&#xff09;/系统&#xff08;System&#xff09; 为了完成一整套服务的一个程序或相互配合的程序群 模块&#xff08;Module&#xff09;/组件&#xff08;Component&#xff09; 当应⽤较复杂时&#xff0c;为了分离职责&#xf…