百度地图JavaScript API 学习之创建标注

article/2025/9/20 11:57:30

在地图上绘制之创建标注

官方demo示例和讲解——直戳这里

简介

  • 所有叠加或覆盖到地图的内容,我们统称为地图覆盖物。
  • 覆盖物拥有自己的地理坐标,当拖动或缩放地图时,它们会相应的移动。
  • 覆盖物主要分为:标注(点标注、矢量图形(包括折线、多边形、圆))、信息窗口、图层

说明:本节重点介绍一下如何向地图添加标注

百度地图提供的覆盖物

覆盖物类名说明
抽象基类Overlay所有的覆盖物均继承此类的方法
Marker表示地图上的点,可自定义标注的图标
文本Label表示地图上的文本标注,您可以自定义标注的文本内容
折线Polyline表示地图上的折线
多边形Polygon表示地图上的多边形。多边形类似于闭合的折线,另外您也可以为其添加填充颜色
Circle表示地图上的圆
信息窗口InfoWindow信息窗口也是一种特殊的覆盖物,它可以展示更为丰富的文字和多媒体信息。注意:同一时刻只能有一个信息窗口在地图上打开
地面叠加层GoundOverlay表示叠加在地图上的图片,图片的链接、大小、位置等属性可以自定义
海量点PointCollection针对点的数量很大的情况,可以使用海量点进行展示
自定义覆盖物自定义支持通过继承覆盖物基类Overlay,自定义覆盖物

最基础的用法就是:在地图上添加一个点覆盖物
由上表可知,在这里就需要用到Marker类来创建地图上的标注点了,创建完成之后添加到地图中就可以了。

关于标注点我们要知道的

  • Marker是一个用来往地图上添加点标记的类。使用它可以将任何你希望用户看到的兴趣点标注在地图上。
  • Marker的构造函数的参数为PointMarkerOptions(可选)
  • API提供了默认的图标(标注)样式,我们可以通过Icon类来指定自定义图标。(目前用不上,知道就行)

    覆盖物类Marker的使用如下图所示: Marker类的使用详情请戳这里查看

    这里写图片描述

分析:
(1)该构造函数存在两个参数:一个是Point类型的;一个是MarkerOptions类型的。
(2)MarkerOptions类型是可选参数。(目前来说是用不到,如果要使用自定义图标来添加覆盖物的话可以用到该参数) MarkerOptions类的使用详情请戳这里查看

用法:

/*
*百度地图使用BMap作为命名空间,这是人家的规定,知道就行了。
*此外,所有的类都在该命名空间之下。
*如果要使用其他类,应该这么写:比如:BMap.Map()、BMap.Control()、BMap.Overlay()
*/
var mk = new BMap.Marker(point);//创建了一个点类型的标注,即标注点

至此,标注点就已经创建完成。下面要做的就是:如何将标注点添加到地图中

  • 可以使用map.addOverlay方法向地图添加覆盖物,使用map.removeOverlay方法移除覆盖物
  • 注意:此方法不适用于InfoWindow(即信息窗口覆盖物,下面有提及)。

如下图所示:

图1 —— 核心类Map中的方法
这里写图片描述

使用方法:

map.addOverlay(mk);//里面的参数为覆盖物实例,所以添加之前肯定要先创建一个覆盖物实例//上面我们使用Marker类的构造函数Marker()创建了一个标注点,同时也创建一个图像标注实例mk。
//所以,在addOverlay()方法中传入之前创建的标注实例mk即可将该标注添加到地图中。

图2 —— 覆盖物的抽象基类(点击可查看)

注:(1)所有覆盖物都继承基类的方法;(2)此类不可实例化。
这里写图片描述

示例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="initial-scale=1.0,user-scalable=no"><title创建标注</title><style>html,body,#allmap{height: 100%;width: 100%;overflow:hidden;margin:0;font-family: "微软雅黑";}</style><script src="http://api.map.baidu.com/api?v=2.0&ak=3ecea51f560650b1ed8a4b99808f52e8"></script>
</head>
<body><div id="allmap"></div><script>var map = new BMap.Map("allmap");//创建一个地图var point = new BMap.Point(116.404, 39.915);//创建一个地理点坐标map.centerAndZoom(point,12);/*至此,地图初始化完成*/// Marker是一个用来往地图上添加点标记的类。使用它可以将任何你希望用户看到的兴趣点标注在地图上。// Marker的构造函数的参数为Point和MarkerOptions(可选)。var mk = new BMap.Marker(point);//创建标注map.addOverlay(mk);//将标注添加到地图中</script>
</body>
</html>

其实也没几行代码,看起来并不复杂:说实话,使用很简单,只要会复制粘贴就行,但是要理解起来还是要花时间研究一下的

这里写图片描述

效果图展示

这里写图片描述


http://chatgpt.dhexx.cn/article/wa0OZ30t.shtml

相关文章

百度地图API 自定义标注图标

通过Icon类可实现自定义标注的图标&#xff0c;下面示例通过参数MarkerOptions的icon属性进行设置&#xff0c; 也可以使用marker.setIcon()方法。 <script type"text/javascript">// 百度地图API功能var map new BMap.Map("allmap"); // 创建…

腾讯地图标注_在腾讯地图上标注店铺,只需要简单几步就搞定

第一步&#xff0c;打开腾讯地图&#xff0c;进入页面如下图 第二步&#xff0c;右上角有个“上报”栏&#xff0c;点击进入&#xff0c;页面如下 第三步&#xff0c;右下角有个“新增”栏&#xff0c;点击出现下图 第四步&#xff0c;点击新增地点&#xff0c;进入页面如下图 …

百度地图API 实现地图多点标注

1.MySQL设计 2.java RequiresPermissions("system:lmonitor:list")PostMapping("/list")ResponseBodypublic TableDataInfo list(LstMonitor lstMonitor){startPage();List<LstMonitor> list lstMonitorService.selectLstMonitorList(lstMonitor);…

给地图添加标注

大家好&#xff1a; 最近在纠结如何动态获取经纬度&#xff0c;一直未有头绪&#xff0c;心情纠结啊&#xff01; 先把之前练习过的给地图添加标注来为大家展示一下&#xff0c;顺便记录一下&#xff01; 静态页面代码&#xff1a; <span style"font-size:14px;&quo…

高德地图 点标注

代码示例 <script src"http://webapi.amap.com/js/marker.js"></script><script type"text/javascript" src"http://webapi.amap.com/maps?v1.3&key你的key"></script><script type"text/javascript"…

cesium mars3d天地图标注置顶

如图所示&#xff0c;文字跟道路在影像文件顶部 1. cesium三维&#xff1a; 必须得重新添加一下标注文件&#xff0c;并设置属性 天地图标注&#xff1a; var tileLayer new mars3d.layer.TdtLayer({name: "天地图影像注记",layer: "img_z",key: mars3d…

地图标注中心

地图标注中心常用的有百度地图、腾讯地图、高德地图和微信地图&#xff0c;滴滴地图和美团地图在各自领域发挥作用。 标注介绍&#xff1a; 填写好商户基本信息后&#xff0c;待5-7个工作日审核通过后即可完成标注&#xff0c;商户信息在底图上以 气泡形式展示&#xff0c;提交…

百度地图加载海量标注性能优化策略

在上一篇博客中关于Vue表单验证的话题里,我提到了这段时间在做的城市配载功能,这个功能主要着眼于,如何为客户提供一条路线最优、时效最短、装载率最高的路线。事实上,这是目前物流运输行业智能化、专业化的一个趋势,即面向特定行业的局部最优解问题,简单来说,怎么样能在…

openlayers地图实现地点标注

出现的问题是:我每次添加标注后删除,确实删除了,但是当我再次添加不同的标注时,第一次删除的标注再次一块和第二次的标注同时显示在地图上。 后来发现是iconFeature不能设置全局变量,我设置它为全局变量就会有这个问题,而且点集合(数组)如果设置的是全局变量,删除时也…

百度地图-删除替换标注

思路&#xff1a; 一、获取百度地图上已有的标注&#xff1a; getOverlays&#xff08;&#xff09; const makers this.map.getOverlays(); 二、找出point相同的标注 for (let ind 0; ind < light_list.length; ind) {const ele light_list[ind];const point light_…

WebGIS开发绘制地图标注

目录 实现步骤 1. 引用开发库: 2. 创建地图容器: 3. 创建地图对象类: 4. 添加矢量图层: 5. 添加图片标注: 5.1 创建图片标注要素 5.2 设置图片标注要素样式 5.3 将图片标注添加到图层数据源中 6. 添加文字标注: 6.1 创建文字标注要素 6.2 设置文字标注样式 6.3 将文…

高精地图语义分割标注

什么是语义分割&#xff1f; 语义图像分割是计算机视觉中一个非常重要的研究和应用方向。它的任务是按照预定的类别对图像中的每个像素进行标注/分类。不同于目标检测&#xff0c;语义分割不对目标进行2D框选。 几个语义分割的关键应用场景&#xff1a; 1&#xff09;自动驾…

百度地图JSAPI标注旋转

百度地图官方JSAPI&#xff1a;http://lbsyun.baidu.com/cms/jsapi/reference/jsapi_reference.html#a3b2 官方DEMO&#xff1a;http://lbsyun.baidu.com/jsdemo.htm#c1_16 <!DOCTYPE html> <html><head><meta http-equiv"Content-Type" cont…

echarts城市地图加标注

成都市人口密度统计 首先引入地图json文件 首先引入地图json文件 引入文件的地址可以用echarts官方网站的github的内容,也可以去这个链接 https://blog.csdn.net/WWW_share8/article/details/90348799, 找到这篇博文中的github链接 生成效果图如下 代码如下 var markdata[];…

奥维地图显示所有标注

/ / / / / / / / / / /// / / / / // / / / / / / / / / / / / / / / / / / / / / / / / / / 1、先用arcgis转成KMZ&#xff0c;然后导入奥维地图 2、通过奥维地图导出刚刚导入的文件&#xff0c;导出的时候文件类型设置成kmlGoogle地标 3、导出的文件是kml格式的&a…

mapv地图文字标注

效果 代码 //文字标注function text() {var textdata [];textdata.push({geometry: {type: Point,coordinates: arr[0]},properties: {text: 兰州}});textdata.push({geometry: {type: Point,coordinates: arr[2]},properties: {text: 天水}});textdata.push({geometry: {type…

python在地图上标注点_怎样用python画地图上的标注线

怎样用python画地图上的标注线 发布时间:2020-11-16 09:52:53 来源:亿速云 阅读:90 作者:小新 小编给大家分享一下怎样用python画地图上的标注线,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! 需要连接地图上已知经纬度(lat1,lon1;lat2,lon2)的两个点,可…

对地图进行标注

对地图进行标注 地图标注有助于识别要素、建立重要要素的可视等级&#xff0c;以及引导地图用户重点关注地图的用途。标注可以根据要素的大小放置&#xff0c;以便使它们在地图上更易于读取。标注通常为动态生成的&#xff0c;而只有标注属性需要储存 - 这些设置用来动态创建标…

零基础学Arcgis(十二)地图标注与注记

写在前面的话&#xff1a; B站搜索“中图地信”便可观看全套71章节详细操作视频&#xff08;有操作数据获取&#xff0c;同步学习&#xff09; &#xff08;一&#xff09;标注要素 [1]启动ArcMap&#xff0c;新建空白地图文档&#xff1b; [2]打开【目录】窗口&#xff0c;定…

三子棋游戏的实现

接下来&#xff0c;我将会为大家简单介绍三子棋游戏的实现过程。 首先我们可以想到&#xff0c;在游戏开始前&#xff0c;需要菜单让人选择是否进行开始。&#xff08;简易菜单实现如下&#xff09; void menu() {printf("************************\n");printf(&quo…