使用百度地图api根据输入的过个经纬度进行轨迹绘制并且可以标记

使用百度地图api根据输入的过个经纬度进行轨迹绘制并且可以标记

  • 功能效果展示
  • 代码
  • 功能说明

功能效果展示

在这里插入图片描述

代码

<!DOCTYPE html>
<html>
<head><meta charset="utf-8"><title>根据经纬度绘制轨迹图</title><script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=你的ak(自己去百度开放平台注册)"></script>
</head>
<body><div id="map" style="width:1920px;height: 1080px;"></div><label for="points">经纬度坐标:</label><textarea id="points" placeholder="请输入经纬度坐标,每行一个,如:116.4074,39.9042\n121.4737,31.2304"></textarea><label for="names">经纬度名称:</label><input type="text" id="names" placeholder="请输入经纬度名称,多个名称用逗号分隔,如:点1,点2,点3"><button onclick="drawTrajectory()">绘制轨迹</button><button onclick="clearTrajectory()">清除轨迹</button><button onclick="zoomIn()">放大</button><button onclick="zoomOut()">缩小</button><script type="text/javascript">var map = new BMap.Map("map"); // 创建地图实例map.centerAndZoom(new BMap.Point(116.404, 39.915), 5); // 初始化地图,设置中心点坐标和地图级别// 添加地图类型控件map.addControl(new BMap.MapTypeControl());// 添加放大缩小控件map.addControl(new BMap.ZoomControl());var polyline; // 用于存储轨迹折线的变量var makers = []; // 用于存储轨迹点的变量function drawTrajectory() {var pointsText = document.getElementById("points").value;var namesText = document.getElementById("names").value.split(',');var points = pointsText.split('\n').map(function(point) {var coords = point.split(',').map(function(c) { return parseFloat(c); });return new BMap.Point(coords[0], coords[1]);});// 清除现有的轨迹if (polyline) {map.removeOverlay(polyline);}if (makers.length > 0) {for (var i = 0; i < makers.length; i++) {map.removeOverlay(makers[i]);}// 创建折线polyline = new BMap.Polyline(points, {strokeColor:"blue", strokeWeight:6, strokeOpacity:0.5});map.addOverlay(polyline); // 在地图上添加折线// 为每个点添加名称for (var i = 0; i < points.length; i++) {var marker = new BMap.Marker(points[i]);var label = new BMap.Label(namesText[i] || (i + 1), {offset: new BMap.Size(20, -10)});marker.setLabel(label);map.addOverlay(marker);makers.push(marker);}}function clearTrajectory() {if (polyline) {map.removeOverlay(polyline); // 清除轨迹polyline = null; // 重置轨迹变量}if (makers.length > 0) {for (var i = 0; i < makers.length; i++) {map.removeOverlay(makers[i]);}}function zoomIn() {map.zoomIn(); // 放大地图}function zoomOut() {map.zoomOut(); // 缩小地图}</script>
</body>
</html>

功能说明

这段HTML和JavaScript代码的功能是允许用户在百度地图上根据输入的经纬度坐标绘制轨迹图,并给每个坐标点添加名称标记。同时,提供了放大、缩小、清除轨迹的功能。
主要功能说明如下:

  1. 地图初始化:代码首先创建了一个地图实例,并将地图的中心点设置为中国的一个默认位置(116.404, 39.915),地图的初始级别设置为5。
  2. 输入经纬度坐标:用户可以在文本区域中输入一系列的经纬度坐标,每个坐标占一行,格式为"经度,纬度"。
  3. 输入经纬度名称:用户可以在输入框中输入一系列的名称,用逗号分隔,这些名称将用于标记对应的经纬度点。
  4. 绘制轨迹:点击"绘制轨迹"按钮后,代码会读取用户输入的经纬度坐标和名称,创建一个折线对象并将其添加到地图上,同时为每个坐标点添加一个标记和一个名称标签。
  5. 清除轨迹:点击"清除轨迹"按钮后,代码会移除地图上的折线对象和所有坐标点的标记,清除用户输入的内容。
  6. 放大和缩小:点击"放大"和"缩小"按钮,可以调整地图的缩放级别。
    代码中包含的百度地图API控件有:
  • 地图类型控件:允许用户切换地图的类型(如普通地图、卫星地图等)。
  • 放大缩小控件:允许用户通过点击按钮来放大或缩小地图。
    此外,代码中还包含了一些数据存储和处理的逻辑,如使用数组存储标记,以及在清除轨迹时遍历数组以移除所有标记。

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

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

相关文章

K8S—集群调度

目录 前言 一 List-Watch 1.1 list-watch概述 1.2 list-watch工作机制 二 集群调度 2.1 调度过程 2.2 Predicate 和 Priorities 的常见算法和优先级选项 2.3 调度方式 三 亲和性 3.1 节点亲和性 3.2 Pod 亲和性 3.3 键值运算关系 3.4 Pod亲和性与反亲和性 3.5 示例…

golang学习1,dea的golang-1.22.0

参考&#xff1a;使用IDEA配置GO的开发环境备忘录-CSDN博客 1.下载All releases - The Go Programming Language (google.cn) 2.直接next 3.window环境变量配置 4.idea的go插件安装 5.新建go项目找不到jdk解决 https://blog.csdn.net/ouyang111222/article/details/1361657…

PCIE1—快速实现PCIE接口上下位机通信(一)

1.简介 PCI Express&#xff08;PCIE&#xff09;是一种高速串行总线标准&#xff0c;广泛应用于计算机系统中&#xff0c;用于连接主板和外部设备。在FPGA领域中&#xff0c;PCIE也被广泛应用于实现高速数据传输和通信。FPGA是一种灵活可编程的集成电路&#xff0c;可以根据需…

碳素光,碳光子,碳光灸 ,太阳灯 仪器

碳素光线疗法&#xff1a; 中西医、民间疗法融为一体&#xff0c;提高机体自身治愈力&#xff0c;免疫力&#xff0c;改善体质和保持健康&#xff0c;有助于疾病的预防和治疗的疗法。不吃药、不打针、不手术也能得健康&#xff0c;无任何副作用的自然物理疗法。 碳素光线仪市…

SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的多特征分类预测

SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的故障多特征分类预测 目录 SCI一区 | Matlab实现ST-CNN-MATT基于S变换时频图和卷积网络融合多头自注意力机制的故障多特征分类预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍…

《Docker 简易速速上手小册》第8章 Docker 在企业中的应用(2024 最新版)

文章目录 8.1 Docker 在开发环境中的应用8.1.1 重点基础知识8.1.2 重点案例&#xff1a;Python Web 应用开发环境8.1.3 拓展案例 1&#xff1a;Python 数据分析环境8.1.4 拓展案例 2&#xff1a;Python 自动化测试环境 8.2 Docker 在生产环境的实践8.2.1 重点基础知识8.2.2 重点…

【嵌入式学习】IO进程线程day02.24

一、思维导图 二、习题 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long) int main(int argc, const char *argv[]) {//创建子进程pid_t pidfork();//在父进程实现读功能if(pid>0){//1、创建key值key_t key 0;if((keyftok("/", k)) -1){perror("ftok …

【C++】STL容器之string(修改操作)

&#x1f490; &#x1f338; &#x1f337; &#x1f340; &#x1f339; &#x1f33b; &#x1f33a; &#x1f341; &#x1f343; &#x1f342; &#x1f33f; &#x1f344;&#x1f35d; &#x1f35b; &#x1f364; &#x1f4c3;个人主页 &#xff1a;阿然成长日记 …

做了个很牛的网站,可以搜索网站的网站到底有多好用?

今天给大家推荐的网站叫做&#xff1a;毒蘑菇 - 搜索 毒蘑菇搜索&#xff0c;顾名思义呢&#xff0c;搜索的功能比较好用&#xff0c;大家上网的时候总是需要记住网站的地址&#xff0c;即使你知道网站的名称&#xff0c;也得跳转到百度然后在搜索&#xff0c;有时候百度上那么…

动态规划(算法竞赛、蓝桥杯)--最详细的01背包DP问题滚动数组优化

1、B站视频链接&#xff1a;E08【模板】背包DP 01背包_哔哩哔哩_bilibili 题目链接&#xff1a;[USACO07DEC] Charm Bracelet S - 洛谷 #include <bits/stdc.h> using namespace std; const int N3410,M13000; int n,m; int d[N],w[N],f[N][M];//价值、体积、状态数组 …

Java面试——锁

​ 公平锁&#xff1a; 是指多个线程按照申请锁的顺序来获取锁&#xff0c;有点先来后到的意思。在并发环境中&#xff0c;每个线程在获取锁时会先查看此锁维护的队列&#xff0c;如果为空&#xff0c;或者当前线程是等待队列的第一个&#xff0c;就占有锁&#xff0c;否则就会…

VB6添加资源文件总是内存溢出?最终我还是治好了这胎里病!

网管小贾 / sysadm.cc 说来也奇怪&#xff0c;话说不久前我刚刚解决了 VB6 释放资源文件的一个 BUG &#xff0c;心里正美滋滋的。 不料居然还有个巨大的 BUG 在后边等着我呢&#xff01; 真是不说不知道&#xff0c;一说吓一跳&#xff0c;十天找 BUG &#xff0c;N把辛酸泪…

matlab 凸轮轮廓设计

1、内容简介 略 46-可以交流、咨询、答疑 2、内容说明 略 4 取标段的分析 取标装置是贴标机的核心部件之一&#xff0c;是影响贴标质量和贴标精度的重要因素&#xff0c;取标段是通过取标板与标签的相切运动使得涂有胶水的取标板从标签盒中粘取标签纸[4]&#xff0c;理论…

如何下载B站高清视频、音频到本地?

在B站上找到了喜欢的视频&#xff1f;想要将它保存到本地或者与朋友分享&#xff1f;本文将向您详细介绍一种简单而有效的方法&#xff0c;帮助我们轻松下载并导出B站视频&#xff0c;以便随时欣赏或分享。 一、如何下载并导出B站视频&#xff1f; 手机端/平板端 第一步&…

「连载」边缘计算(十九)02-22:边缘部分源码(源码分析篇)

&#xff08;接上篇&#xff09; 从启动函数Start(&#xff09;中可以看到&#xff0c;其以go routine的方式启动很多后台处理服务&#xff0c;具体如下。 1&#xff09;初始化edged的kubeClient&#xff0c;具体如下所示。 // use self defined client to replace fake kube…

基于AI将普通RGB图像转换为苹果Vision Pro支持的空间照片

将 RGB 图像转换为空间图片 一、引言 随着AR和VR技术的普及,空间照片格式(.HEIC)逐渐受到关注。这种格式允许用户在AR/VR设备上体验到更为真实的立体空间效果。为了让更多的普通图片也能享受这种技术,我们开发了这款可以将普通RGB图像转换为苹果Vision Pro支持的.HEIC格式的…

leetcode:47.全排列2

1.与上一题不同的是&#xff0c;本题目的数组中有重复的数字&#xff0c;所以最终结果需要去重&#xff01; 2.树形结构&#xff1a;先将原来的数组进行排序&#xff0c;方便之后的去重&#xff01;同一数层上不能取重复的元素&#xff01; 3.代码实现&#xff1a; 1.当path…

k8s部署 多master节点负载均衡以及集群高可用

一、k8s 添加多master节点实验 1、master02节点初始化操作 2、在master01节点基础上&#xff0c;完成master02节点部署 ①从master01节点复制所需要的文件 需要从master01节点复制etcd数据库所需要的ssl证书、kubernetes安装目录&#xff08;二进制文件、组件与apiserver通信…

CleanMyMac4苹果Mac电脑全面、高效的系统清理工具

CleanMyMac 4 for Mac是一款专为Mac用户设计的系统清理和优化工具。它具备多种功能&#xff0c;旨在帮助用户轻松管理和释放Mac上的磁盘空间&#xff0c;同时提升系统性能。 系统垃圾清理&#xff1a;CleanMyMac 4能够深入扫描Mac的每一个角落&#xff0c;智能识别并清除不需要…

Java中for循环效率比较

先说结论&#xff1a; 对于遍历一个1千万条数据的arrayList&#xff0c;fori循环最快&#xff0c;iterator其次&#xff0c;foreach再其次&#xff0c;forStream最慢。 测试代码 public class ForSpeedTest {// private static final long FOR_COUNT 10000_0000;private s…