uniapp使用高德地图

news2025/7/19 3:55:35

uniapp使用高德地图

1、项目前准备

1.1、首先你需要去申请一个属于自己的高德地图key,怎么申请暂不多说需要的去官网看
1.2、链接: 高德地图申请key直通车,点击前往。
有一个uniapp项目。

2、页面创建引入

新建一个uniapp的空白页 使用web-view 渲染html文件页

  <web-view src="/hybrid/html/adminr.html"></web-view>

新建一个html文件,头部hede里面引入文件

  <!-- 地图 -->
  <script type="text/javascript">
   //这个地方的securityJsCode是自己的高德安全密钥,用自己的哈
  window._AMapSecurityConfig =  securityJsCode: '蛋糕吃不完我打包带走,respect' }
  </script>
  <script src="https://webapi.amap.com/loader.js"></script>
  <!-- vue -->
  <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script

然后在body 里面加一个div 就是我们地图的展示了

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

3、地图实现js

这个地方除了key用自己的就可以直接复制
链接: 官网直通车

      AMapLoader.load({
            "key": "蛋糕吃不完我打包带走,respect",  // 申请好的Web端开发者Key ,一样用自己的
            "version": "2.0",   // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
            "plugins": ['AMap.Driving'],           // 需要使用的的插件列表,如比例尺'AMap.Scale'等
            "AMapUI": {             // 是否加载 AMapUI,缺省不加载
                "version": '1.1',   // AMapUI 版本
                "plugins":['overlay/SimpleMarker'],       // 需要加载的 AMapUI ui插件
            },
            "Loca":{                // 是否加载 Loca, 缺省不加载
                "version": '2.0'  // Loca 版本
            },
     }).then((AMap)=>{
		var map = new AMap.Map('container',{
          center: [118.045616, 24.366646], //经纬度地图一进来显的位置
          resizeEnable: true,
		  zoom: 13 //地图显示的缩放级别
		})
     });
        
}

完成以上步骤 我们就可以获取到一个完整的地图啦 Let me see see
在这里插入图片描述
然后我们要给刚刚设置经纬度添加一个标记 不然不知道是哪个位置

4、地图实现单点标记

接着在刚刚的 var map = new AMap.Map下面添加标记

        var map = new AMap.Map('container',{
          center: [118.045616, 24.366646], //经纬度地图一进来显的位置
          resizeEnable: true,
		  zoom: 13 //地图显示的缩放级别
		}) 
       // 根据经纬度标记地理位置
        var marker = new AMap.Marker({
           position: new AMap.LngLat(118.045616, 24.366646),  
           title: '默认图标' //可以自定义icon图标展示
        })
        // 将创建的点标记添加到已有的地图实例
        map.add(marker)

5、地图实现终点与起点标记

               // 构造路线导航类
                var driving = new AMap.Driving({
                    map: map,
                }); 
                // 根据起终点经纬度规划驾车导航路线
               driving.search(
                new AMap.LngLat(118.099481, 24.583817),
                new AMap.LngLat(118.045616, 24.366646), 
                function(status, result) {
                    if (status === 'complete') {
                      console.log('绘制驾车路线完成')
                     //new AMap.InfoWindow 自定义窗体
                    } else {
                      console.log('获取驾车数据失败:' + result)
                    }
               });

最终实起点到终点路线
在这里插入图片描述

6、最后 上代码~

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
  <title>Document</title>
  <!-- 地圖 -->
  <script type="text/javascript">
    window._AMapSecurityConfig = {
      securityJsCode: '868c41a6460a22634ecee3efc61abe07',
    }
  </script>
  <script src="https://webapi.amap.com/loader.js"></script>
  <!-- vus -->
  <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script>
 

</head>
<body>
  <div id="app">
    <div id="container"></div>
  </div>
</body>

<script>
  new Vue({
    el: '#app',
    data() {
      return {}
    },
    mounted() {
      this.initr()
    },
    methods: {
      initr(){
         AMapLoader.load({
            "key": "11326b9fd9fdfa988cd15851bc55525a",  // 申请好的Web端开发者Key,首次调用 load 时必填
            "version": "2.0",   // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
            "plugins": ['AMap.Driving'],           // 需要使用的的插件列表,如比例尺'AMap.Scale'等
            "AMapUI": {             // 是否加载 AMapUI,缺省不加载
                "version": '1.1',   // AMapUI 版本
                "plugins":['overlay/SimpleMarker'],       // 需要加载的 AMapUI ui插件
            },
            "Loca":{                // 是否加载 Loca, 缺省不加载
                "version": '2.0'  // Loca 版本
            },
        }).then((AMap)=>{
                var map = new AMap.Map('container',{
                  center: [118.045616, 24.366646],
                  resizeEnable: true,
								  zoom: 13 //地图显示的缩放级别
                });

                // // 根据经纬度标记地理位置
                // var marker = new AMap.Marker({
                //     position: new AMap.LngLat(118.045616, 24.366646),  
                //     title: '默认图标' //可以自定义icon图标展示
                // });

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

                // 构造路线导航类
                var driving = new AMap.Driving({
                    map: map,
                }); 
                // 根据起终点经纬度规划驾车导航路线
                driving.search(new AMap.LngLat(118.099481, 24.583817), new AMap.LngLat(118.045616, 24.366646), 
                function(status, result) {
                    if (status === 'complete') {
                      console.log('绘制驾车路线完成') 
                      // console.log(status,'status')
                    } else {
                      console.log('获取驾车数据失败:' + result)
                    }
                });

        }).catch((e)=>{
                console.error(e);  //加载错误提示
        });  
      }
    },
  })
</script>

<style scoped>
*{
  margin: 0;
}
body,html,#container {
	width: 100vw;
	height: 100vh
}

#panel {
  position: fixed;
  background-color: white;
  max-height: 90%;
  overflow-y: auto;
  top: 10px;
  right: 10px;
  width: 280px;
}
#panel .amap-call {
  background-color: #009cf9;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}
#panel .amap-lib-driving {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  overflow: hidden;
}
        
</style>
</html>

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

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

相关文章

Postman下载与安装操作步骤【超详细】

&#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是超梦梦梦梦&#xff0c;很高兴认识大家~&#x1f357;关注➕点赞➕评论➕收藏 &#x1f604;&#x1f64f;博主水平有限&#xff0c;如有错误&#xff0c;欢迎各位大佬纠正 Postman下载与安装&#x1…

vue的指令和插值总结

文章目录一、安装vue二、Vue模板案例步骤三、基础模板&#xff08;记住&#xff09;四、vue的指令和插值1、{{}}&#xff1a;插值表达式的语法2、v-text&#xff1a;填充纯文本内容&#xff08;data中的值&#xff09;3、v-html&#xff1a;填充html&#xff08;data中的值&…

蓝桥杯刷题第九天

题目描述本题为填空题&#xff0c;只需要算出结果后&#xff0c;在代码中使用输出语句将所填结果输出即可。素数就是不能再进行等分的整数。比如7&#xff0c;11。而 9 不是素数&#xff0c;因为它可以平分为 3 等份。一般认为最小的素数是2&#xff0c;接着是 3&#xff0c;5&…

el-upload 超详细-(附件,图片,多类型文件)玩转上传upload--new FormData()

代码&#xff08;我的项目代码&#xff1a;注解在下面&#xff09;代码复制直接用&#xff0c;可以实现所有文件上传&#xff0c;更改接口即可&#xff08;如需详细注解&#xff0c;学习&#xff0c;下面的详解完全够用&#xff0c;从0到学会这一片加官方文档就够了&#xff09…

Electron 分享(入门,安装,打包)

Electron Electron 是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架 安装 在使用 Electron 进行开发之前&#xff0c;需要安装Node.js&#xff0c;可以在终端输入以下命令输出了 Node.js 和 npm 的版本信息&#xff1a; node -v npm -v没有安装的话&#xff0c…

css 100vw、100vh出现滚动条怎么解决

要搞清楚这个问题首先要知道这两个单位&#xff08;vw、vh&#xff09;是什么意思。vw&#xff08;vh&#xff09;是相对于浏览器的视口宽度&#xff08;高度&#xff09;的&#xff0c;100vh等于浏览器的视口宽度&#xff0c;设置vw和vh会在视口发生变化时重新计算宽度和高度。…

【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

文章目录[TOC](文章目录)方法一、 Luckysheet 预览方法二、 Office Web 查看器&#xff08;微软的开发接口&#xff09;方法三、 XDOC文档预览云服务(预览pdf、word、xls、ppt)方法一、 Luckysheet 预览 Luckysheet 是一个类似于 excel 的在线电子表格&#xff0c;功能强大、配…

超详细纯前端导出excel并完成各种样式的修改(xlsx-style)

超详细纯前端导出excel并完成各种样式的修改&#xff08;xlsx-style&#xff09; 一杠正在上传…重新上传取消 2020年12月08日 17:53 阅读 6247 一、前言 最近做的项目涉及到了excel的导出&#xff0c;在这块真的花了很多的时间&#xff0c;起初需求是不需要样式层面的修改…

【css】svg修改图标颜色

项目中使用了大量的svg图标&#xff0c;一开始只是导入直接使用&#xff0c;直到产品提出要根据条件修改图标的颜色 svg教程||菜鸟教程 可以简单看下教程了解下svg SVG 意为可缩放矢量图形&#xff0c;SVG 使用 XML 格式定义图像。 导入项目的svg图标大概是这样 有个path路…

怎样在应用中实现自助报表功能

前言&#xff1a;大家好&#xff0c;我是小威&#xff0c;24届毕业生&#xff0c;在一家满意的公司实习。本篇将记录几次面试中经常被问到的知识点以及对学习的知识点总结。 本篇文章记录的基础知识&#xff0c;适合在学Java的小白&#xff0c;也适合复习中&#xff0c;面试中的…

后台管理系统前端模板(html + CSS + JavaScript)

这是为大家准备的资源链接&#x1f910;&#x1f910;&#x1f910;&#xff1a; 提取码&#xff1a;0000 bootstrap_htmb.zip_免费高速下载|百度网盘-分享无限制百度网盘为您提供文件的网络备份、同步和分享服务。空间大、速度快、安全稳固&#xff0c;支持教育网加速&#…

实现Vue按钮(button)绑定回车(enter)事件

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、页面展示二、实现步骤1.在删除对话框的取消与确定按钮之间添加input输入框2.写个监听器&#xff0c;监听弹窗打开时&#xff0c;给input框自动聚焦&#xff…

AI引领技术变革,自动化云平台所带来的测试工程师进阶危机~

推荐&#xff1a; Python全栈白宝书专栏&#xff0c;免费阶段订阅数量4300&#xff0c;购买任意白宝书体系化专栏可加入TFS-CLUB 私域社区。福利&#xff1a;加入社区的小伙伴们&#xff0c;除了可以获取博主所有付费专栏的阅读权限之外&#xff0c;还有机会加入 星荐官共赢计划…

微信小程序设计规范

一、宏观角度 微信小程序设计的基本原则是微信设计中心针对在微信类上线的小程序页面总结的设计指南及建议。以下设计原则都是基于对用户的尊重的基础上的&#xff0c;旨在微信生态类建立有号、高效、一致的用户体验的同时&#xff0c;最大程度顺应和支持各业务需求设计…

PHP+MySQL制作简单的用户注册登录界面(注释超详细~附源代码)

成果 网站能实现判断账户信息是否合法&#xff0c;同时附带验证码验证登录。在用户输入正确的用户名与密码后会有登录成功的弹窗&#xff0c;若输入的账户不存在&#xff0c;则会跳转至注册页面。 实现过程 项目文件分配&#xff1a; 1.首先创建login.html 实现的是用户登录…

vue-element-admin--使用体验

原文网址&#xff1a;vue-element-admin--使用体验_IT利刃出鞘的博客-CSDN博客 简介 说明 本文用示例介绍vue-element-admin的用法。 vue-element-admin 是一个后台前端解决方案&#xff0c;它基于 vue 和 element-ui实现。它使用了最新的前端技术栈&#xff0c;内置了 i18 国…

小满Vue3第三十九章(Vue开发桌面程序Electron)

建议视频教程小满Vue3&#xff08;第三十九章 electron桌面程序&#xff09;_哔哩哔哩_bilibili Electron官网Electron | Build cross-platform desktop apps with JavaScript, HTML, and CSS. 我们用的VsCode 也是 electron 开发的 electron 内置了 Chromium 和 nodeJS 其中…

【最简便方法】element-plus/element-ui走马灯配置图片以及图片自适应

首先展示官网给的模板 <template><el-carousel :interval"4000" type"card" height"200px"><el-carousel-item v-for"item in 6" :key"item"><h3 text"2xl" justify"center">…

前端实现文件下载的方法

前端实现文件下载 前端下载一般分为两种情况&#xff0c;一种是后端直接给一个文件地址&#xff0c;通过浏览器打开就可以下载&#xff0c;另外一种则需要发送请求&#xff0c;后端返回二进制流数据&#xff0c;前端解析流数据&#xff0c;生成URL&#xff0c;实现下载。 一、…

css添加边框阴影

css边框阴影如何设置&#xff1f; 语法&#xff1a; <style> box-shadow: h-shadow v-shadow blur spread color inset; </style> 取值&#xff1a; h-shadow&#xff1a;必需设置的值&#xff0c;定义水平阴影的位置。允许负值。 v-shadow&#xff1a;必需设置…