离线环境下使用百度地图(展示自己的地图瓦片)3.0版本api

案例:

设置覆盖物+标注提示文字:

<script>// 百度地图API功能var map = new BMap.Map("map",{ mapType: BMAP_HYBRID_MAP });   var point = new BMap.Point(120.55294, 41.665515); // 创建Map实例map.centerAndZoom(point, 18); // 初始化地图,设置中心点坐标和地图级别/*添加标注++++++开始*/// 创建标注var marker = new BMap.Marker(point);  map.addOverlay(marker);  // 将标注添加到地图中,配合覆盖物实现文字提示var label = new BMap.Label("我是文字标注哦",{offset:new BMap.Size(20,-20)});marker.setLabel(label);/*添加标注++++++结束*//*添加覆盖物++++++开始*/var circle = new BMap.Circle(new BMap.Point(120.55294, 41.665515),15,{fillColor: 'red', //设置圆形的填充颜色为红色fillOpacity: 0.5, //填充色透明度strokeColor:"blue", //设置圆形的边框颜色为蓝色strokeWeight:2, //设置圆形边框的宽度为 2 像素strokeOpacity:0.1 //设置圆形边框的透明度为 0.1(即 10%透明});//创建圆 map.addOverlay(circle); //给覆盖物添加事件circle.addEventListener("click",attribute);function attribute(){var p = circle.point;  //获取marker的位置window.alert("marker的位置是" + p.lng + "," + p.lat);    }/*添加覆盖物++++++结束*/map.setCurrentCity("朝阳");          // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true);
</script>

设置标注的跳动动画的效果和重新设置标注提示的内容,给标注添加点击事件:

<script>// 百度地图API功能var map = new BMap.Map("map",{ mapType: BMAP_HYBRID_MAP });   var point = new BMap.Point(120.55294, 41.665515); // 创建Map实例map.centerAndZoom(point, 18); // 初始化地图,设置中心点坐标和地图级别/*添加标注++++++开始*///自定义marker---Size为图片大小,anchor为偏移量// 创建标注var marker = new BMap.Marker(point);  map.addOverlay(marker);  // 将标注添加到地图中,配合覆盖物实现文字提示var label = new BMap.Label("我是文字标注哦",{offset:new BMap.Size(-18,-20)});marker.setLabel(label);marker.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画marker.addEventListener("click", function() {// 在这里添加点击事件的处理逻辑alert("你点击了标记!");
});function ssa(){label.setContent("新的文字标注内容");alert("sjdfk");// 清除动画效果
marker.setAnimation(null);}setTimeout(ssa,5000)/*添加标注++++++结束*//*添加覆盖物++++++开始*/var circle = new BMap.Circle(new BMap.Point(120.55294, 41.665515),15,{fillColor: 'green',strokeColor:"blue", fillOpacity: 0.3, strokeWeight:2, strokeOpacity:0.3});//创建圆 map.addOverlay(circle); //给覆盖物添加事件circle.addEventListener("click",attribute);function attribute(){var p = circle.point;  //获取marker的位置window.alert("marker的位置是" + p.lng + "," + p.lat);    }/*添加覆盖物++++++结束*/map.setCurrentCity("朝阳");          // 设置地图显示的城市 此项是必须设置的map.enableScrollWheelZoom(true);
</script> 

增加线

        /* 增加折线============开始 */var polyline = new BMap.Polyline([new BMap.Point(120.550449, 41.666586),new BMap.Point(120.550207, 41.665832),new BMap.Point( 120.552304,41.665633),new BMap.Point( 120.553971,41.665444),new BMap.Point(  120.554034,41.665609),new BMap.Point(  120.555729, 41.665471),new BMap.Point(   120.556601, 41.667068),new BMap.Point(    120.552388,41.66698),new BMap.Point(120.552284,41.666387),new BMap.Point(120.550449, 41.666586),], {strokeColor:"red", strokeWeight:2, strokeOpacity:0.5});   //创建折线map.addOverlay(polyline);   //增加折线============结束

获取坐标信息:

	map.addEventListener("click",function(e){layer.alert(e.point.lng + "<br>" + e.point.lat);});

给标注换图标:

 //创建小狐狸var myIcon = new BMap.Icon("./燃脂.png", new BMap.Size(50, 50));var marker2 = new BMap.Marker(point, { icon: myIcon });  // 创建标注map.addOverlay(marker2);

开启信息窗口

	    map.openInfoWindow(new BMap.InfoWindow("天安门坐落在中国北京市中心,故宫的南侧,<br>与天安门广场隔长安街相望,是清朝皇城的大门..."), new BMap.Point(120.550685, 41.66632)); 

设置地图的显示范围,显示层级

// 获取当前显示范围var bs = map.getBounds();   //获取可视区域var bssw = bs.getSouthWest();   //可视区域左下角var bsne = bs.getNorthEast();   //可视区域右上角layer.alert("当前地图可视范围是:<br/>" + bssw.lng.toFixed(6) + ", " + bssw.lat.toFixed(6) + "<br/>到<br/>" + bsne.lng.toFixed(6) + ", " + bsne.lat.toFixed(6));// 获取当前地图层级if( typeof map != 'undefined' ){map.addEventListener("zoomend", function(e){layer.msg('地图级别: '+map.getZoom() + (map.getZoom() <17?', 示例中只有17级到19地图,超过的无法显示!':''), {'offset':'b'});if(map.getZoom()<17){map.setZoom(18)}});}//  设置地图显示范围var b = new BMap.Bounds(new BMap.Point(120.549782, 41.663656),new BMap.Point(120.556098, 41.667374));try {	BMapLib.AreaRestriction.setBounds(map, b);} catch (e) {alert(e);}

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

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

相关文章

Java-多线程基本知识学习总结

多线程 前言一、线程的创建1、继承Thread类2、实现Runnable接口 二、线程的生命周期三、操作线程的方法1、线程的休眠2、线程的加入3、线程的礼让4、线程的优先级 四、线程同步End 前言 Java是支持多线程的编程语言&#xff0c;所谓多线程就是程序能够同时完成多种操作。 计算…

Windows挂载NFS

ubuntu开启nfs 安装 sudo apt install nfs-kernel-server编辑 /etc/exports /data/share *(rw,no_root_squash)重启服务 sudo systemctl restart nfs-server.service验证 showmount -e localhostwindows连接NFS 选择控制面板 > 程序 > 启用或关闭 Windows 功能 添加…

C++,请问为什么力扣题704中,取数组的长度,使用sizeof()/4在运行时候没有报错,但是提交之后报数组越界的错误呢?使用size又可以了

C,请问为什么力扣题704中&#xff0c;取数组的长度&#xff0c;使用sizeof()/4在运行时候没有报错&#xff0c;但是提交之后报数组越界的错误呢&#xff1f;使用size又可以了 在C中&#xff0c; sizeof() 运算符用于获取一个对象或类型的字节大小。在使用 sizeof() 时&#xf…

【Go】EasyJson使用

EasyJson是Go语言中对象序列化与反序列化的工具&#xff0c;类似Java中的fastjson和Jackson&#xff0c;能快速对对象进行序列化和反序列化&#xff0c;本次介绍一下使用方法。 版本信息&#xff1a; go1.20.2 1&#xff0c;获取源码 # go get go get -u github.com/mailru…

centos用户相关命令

添加用户命令&#xff1a; adduser tony.wang useradd tony.wang 这两个命令都行&#xff0c;如果已经添加了会提示已经存在。 设置密码&#xff1a; passwd tony.wang 如果需要加入sudo组&#xff1a; usermod -aG sudo tony.wang 这个命令我在CentOS7上是不行的&#x…

理解射频中常用的史密斯圆图(Smith Chart)

理解射频中常用的史密斯圆图&#xff08;Smith Chart&#xff09; 工程中常用史密斯圆图表示射频器件端口的回波损耗 Γ \Gamma Γ. 回波损耗 回波损耗&#xff0c;又称器件端口的反射系数&#xff0c;反映了器件的端口阻抗 Z_{1L} 与传输线阻抗 Z 0 Z_0 Z0​ 之间的匹配&…

入耳耳机对耳朵有损害吗?戴哪种耳机不伤耳朵听力?

长时间佩戴入耳式耳机会对耳朵造成伤害的&#xff0c;建议佩戴骨传导耳机&#xff0c;不入耳佩戴使用更健康。 为什么推荐使用骨传导耳机&#xff0c;首先因为入耳式耳机需要塞入耳道内佩戴&#xff0c;长时间使用会使耳道内滋生细菌&#xff0c;容易引发耳道疾病&#xff0c;…

Python爬虫入门:如何设置代理IP进行网络爬取

目录 前言 一、获取代理IP 1.1 获取免费代理IP 1.2 验证代理IP 二、设置代理IP 三、使用代理IP进行网络爬取 四、总结 前言 在进行网络爬取时&#xff0c;经常会遇到一些反爬虫的措施&#xff0c;比如IP封锁、限制访问频率等。为了解决这些问题&#xff0c;我们可以使用…

软件测评中心▏软件集成测试和功能测试之间的区别和联系简析

软件集成测试是在软件开发周期的后期阶段进行的测试活动&#xff0c;旨在验证系统各个组件之间的接口和交互是否正常工作。而功能测试是一种验证软件系统是否按照需求规格说明书所规定的功能进行正确实现的测试。接下来&#xff0c;我们来分别探讨一下软件集成测试和功能测试有…

windows系统用nginx部署web应用

要在Windows系统上使用Nginx进行本地部署和运行Web应用程序&#xff0c;可以按照以下步骤进行操作&#xff1a; 1.首先下载nginx&#xff0c;需要去nginx官网&#xff1a; nginx: download 下载最新版本的&#xff1a; 2.解压缩Nginx&#xff1a;找个磁盘位置&#xff0c;新…

C\C++:原子计数操作 之__syn_fetch_and_add性能研究

背景 首先在多线程环境中&#xff0c;多线程计数操作&#xff0c;共享状态或者统计相关时间次数等&#xff0c;这些需要在多线程之间共享变量和修改变量&#xff0c;如此就需要在多线程间对该变量进行互斥操作和访问。 但是如果我们要维护一个全局的线程安全的 int 类型变量 co…

Vue3生命周期函数(简述题)

1.图示 2.说明 3.补充 1.在vue3组合式API中&#xff0c;我们需要将生命周期函数先导入&#xff0c;然后才能使用。 import {onMounted} from vue2.beforeCreate和created被setup()方法所代替

re:Invent 构建未来:云计算生成式 AI 诞生科技新局面

文章目录 前言什么是云计算云计算类型亚马逊云科技云计算最多的功能最大的客户和合作伙伴社区最安全最快的创新速度最成熟的运营专业能力 什么是生成式 AI如何使用生成式 AI后记 前言 在科技发展的滚滚浪潮中&#xff0c;我们见证了云计算的崛起和生成式 AI 的突破&#xff0c…

基于ssm亚盛汽车配件销售业绩管理系统

摘 要 如今的信息时代&#xff0c;对信息的共享性&#xff0c;信息的流通性有着较高要求&#xff0c;因此传统管理方式就不适合。为了让亚盛汽车配件销售信息的管理模式进行升级&#xff0c;也为了更好的维护亚盛汽车配件销售信息&#xff0c;亚盛汽车配件销售业绩管理系统的开…

RNN-T Training,RNN-T模型训练详解——语音信号处理学习(三)(选修三)

参考文献&#xff1a; Speech Recognition (option) - RNN-T Training哔哩哔哩bilibili 2020 年 3月 新番 李宏毅 人类语言处理 独家笔记 Alignment Train - 8 - 知乎 (zhihu.com) 本次省略所有引用论文 目录 一、如何将 Alignment 概率加和 对齐方式概率如何计算 概率加和计…

C#中 怎么检测Tcp网线断开?

在 C# 中&#xff0c;如果使用 TcpClient 或 TcpListener 这样的套接字进行通信&#xff0c;并且网络连接断开&#xff0c;不发送心跳是无法立即检测到断开的。这是因为 TCP 协议本身没有内置的机制来检测连接是否还活动中。 当使用 TCP 进行通信时&#xff0c;通常是通过发送…

PyQt6第一个程序HelloWorld实现

锋哥原创的PyQt6视频教程&#xff1a; 2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 PyQt6 Python桌面开发 视频教程(无废话版) 玩命更新中~共计12条视频&#xff0c;包括&#xff1a;2024版 PyQt6 Python桌面开发 视频教程(无废话版…

LeetCode63. Unique Paths II

文章目录 一、题目二、题解 一、题目 You are given an m x n integer array grid. There is a robot initially located at the top-left corner (i.e., grid[0][0]). The robot tries to move to the bottom-right corner (i.e., grid[m - 1][n - 1]). The robot can only m…

three.js球体实现

作者&#xff1a;baekpcyyy&#x1f41f; 使用three.js渲染出可以调节大小的立方体 1.搭建开发环境 1.首先新建文件夹用vsc打开项目终端 2.执行npm init -y 创建配置文件夹 3.执行npm i three0.152 安装three.js依赖 4.执行npm I vite -D 安装 Vite 作为开发依赖 5.根…

网络协议系列:TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手

TCP三次握手&#xff0c;四次挥手的全过程&#xff0c;为什么需要三次握手&#xff0c;四次挥手 一. TCP三次握手&#xff0c;四次挥手的全过程&#xff0c;为什么需要三次握手&#xff0c;四次挥手前言TCP协议的介绍三次握手三次握手流程&#xff1a;1. A 的 TCP 向 B 发送 连…