当前位置:网站首页>天地图给多边形加标注
天地图给多边形加标注
2022-08-02 08:30:00 【Z_Xshan】
先看效果图
该开始开发的时候用的是高德高德用起来还是比较简单的 但是后来公司要换成天地图 然后就去学习了天地图 来记录下以免朋友们踩坑
这里用vue3举例 看代码
创建初始化地图
//地图初始化
const init = () => {
//添加图层
const imageURL =
"http://t0.tianditu.gov.cn/vec_w/wmts?" +
"SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&FORMAT=tiles" +
"&TILEMATRIXSET=w&STYLE=default&LAYER=vec&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的key";
const imageURLT =
"http://t0.tianditu.gov.cn/cva_w/wmts?" +
"SERVICE=WMTS&VERSION=1.0.0&REQUEST=GetTile&FORMAT=tiles" +
"&TILEMATRIXSET=w&STYLE=default&LAYER=cva&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=您的key";
const lay = new T.TileLayer(imageURL, { minZoom: 6, maxZoom: 18 }); //创建图层对象
const lay2 = new T.TileLayer(imageURLT, { minZoom: 6, maxZoom: 18 }); //创建图层对象
var config = { layers: [lay, lay2] };
data.map = new T.Map("map", config); //创建地图对象
data.map.centerAndZoom(
new T.LngLat(116.63072 ,40.054952),
// new T.LngLat(118.63372,37.24352),
14
); //初始化地图
addPolygon(); //添加多边形
};
添加多边形覆盖物
//多边形
const addPolygon = () => {
data.area.forEach((item) => {
let list = getList(item);//多边形的坐标 详细看文档
let polygon = new T.Polygon(list, {
color: "#06d7f9",
weight: 3,
opacity: 1,
fillColor: "#06d7f9",
fillOpacity: 0.3,
});
data.map.addOverLay(polygon);
data.polygons.push(polygon);
//这里是给都多边形加的标注
polygon.addEventListener("click", function(e){overlay_style(e,item,polygon)});
});
};
标注的方法
//获取marker的属性
function overlay_style(e,i,polygon) {
var p = e.target;
if (p instanceof T.Polygon) {
var infoWin1 = new T.InfoWindow();
var sContent =
"<div style='margin:0px;'>" +
"<div style='margin:10px 10px; '>" +
"<img style='float:left;margin:0px 10px' src='http://lbs.tianditu.gov.cn/images/logo.png' width='101' height='49' title='天安门'/>" +
"<div style='margin:10px 0px 10px 120px;'>电话 : (010)88187700 <br>地址:北京市顺义区机场东路国门商务区地理信息产业园2号楼天地图大厦" +
"</div>" +
"<input id='keyWord' value='机场' type='text' style='border: 1px solid #cccccc;width: 180px;height: 20px;line-height: 20px;padding-left: 10px;display: block;float: left;'>" +
"<input style='margin-left:195px; width: 80px;height: 24px; text-align: center; background: #5596de;color: #FFF;border: none;display: block;cursor: pointer;' type='button' value='周边搜索' onClick=\"localsearch.searchNearby(document.getElementById('keyWord').value,center,radius)\">" +
"</div>" +
"</div>";
infoWin1.setContent(sContent);
polygon.openInfoWindow(infoWin1);
}
else {
alert("无法获知该覆盖物类型");
}
}
边栏推荐
- JSP页面中page指令有哪些属性及方法可使用呢?
- houdini 求出曲线的法向 切线以及副法线
- Qt读取文件中内容(通过判断GBK UTF-8格式进行读取显示)
- day_05_pickel 和 json
- OneNote 教程,如何在 OneNote 中创建更多空间?
- Ansible 学习总结(11)—— task 并行执行之 forks 与 serial 参数详解
- 知识点滴 - 为什么一般不用铜锅做菜
- RetinaFace: Single-stage Dense Face Localisation in the Wild
- 积分商城商品供应商选择的三个要求
- WebGPU 导入[1] - 入门常见问题与个人分享
猜你喜欢
The packet capture tool Charles modifies the Response step
Biotin - LC - Hydrazide | CAS: 109276-34-8 | Biotin - LC - Hydrazide
unity pdg 设置隐藏不需要的节点以及实现自动勾选自动加载项
ip地址那点事(二)
商业智能平台BI 商业智能分析平台 如何选择合适的商业智能平台BI
UVM信息服务机制
Docker内MySQL主从复制学习,以及遇到的一些问题
PyCharm使用教程(详细版 - 图文结合)
Redisson报异常attempt to unlock lock, not locked by current thread by node id解决方案
pycharm的基本使用教程(1)
随机推荐
RestTemlate源码分析及工具类设计
LeetCode第三题(Longest Substring Without Repeating Characters)三部曲之一:解题思路
What is the function of page directive contentPage/pageEncoding in JSP page?
day——05 迭代器,生成器
unity pdg 设置隐藏不需要的节点以及实现自动勾选自动加载项
openpyxl 单元格合并
RetinaFace: Single-stage Dense Face Localisation in the Wild
JSP页面中page指令contentPage/pageEncoding具有什么功能呢?
C语言基础_共用体
Three types of [OC learning notes] Block
那些年我们踩过的 Flink 坑系列
Spark 系统性学习笔记系列
查看变量的数据格式
类和对象【下】
LeetCode_2358_分组的最大数量
High imitation [Huawei consumer business official website] and wonderful animation analysis: practice embedding JS code in low-code platform
WebGPU 导入[1] - 入门常见问题与个人分享
【微信小程序2】事件绑定
Biotin - LC - Hydrazide | CAS: 109276-34-8 | Biotin - LC - Hydrazide
普林斯顿微积分读本03第二章--编程实现函数图像绘制、三角学回顾