目录
相关知识点
类表示地图上一个图像标注 。其构造函数(:[,opts:])
:为标注点的坐标 , 属于对象的地理坐标
opts:标注的属性 , 或者说改变默认样式 , 例如设置标注图标 , 堆叠顺序 , 透明度等 。
//创建一个默认的标注点//创建标注对象 , 实例化Marker类var marker = new T.Marker(new T.LngLat(116.411794, 39.9068));//向地图上添加标注 。其中addOverLay(overlay:OverLay)方法将覆盖物添加到地图中 , 一个覆盖物实例只能向地图中添加一次 。map.addOverLay(marker);
类表示地图上包含信息的窗口 。构造函数 (:|[,opts:])
:信息窗口的内容 , 字符串类型或者对象
opts:信息窗口属性 , 可设置弹窗的最大或最小宽度 。详情参考天地图 API 4.0 类参考
//在一个点上添加窗口信息//创建信息窗口对象var infoWin = new T.InfoWindow();infoWin.setLngLat(new T.LngLat(116.40969, 39.94940));//设置信息窗口要显示的内容infoWin.setContent("添加的信息窗口");//向地图上添加信息窗口map.addOverLay(infoWin);
需求:将多个地理坐标点及其信息在天地图上展示 。
解决思路:向后台请求数据后 , 循环将所有坐标添加到地图上 , 当鼠标触碰标注时显示窗口内容
结果展示
【【自学笔记】在天地图展示多个标注和文字信息】js代码
var map;var zoom = 12;function onLoad() {const imageURL = "http://t0.tianditu.gov.cn/img_w/wmts?" +"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=你的秘钥";const imageURLT = "http://t0.tianditu.gov.cn/cia_w/wmts?" +"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=cia&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}" +"&tk=你的秘钥";//创建自定义图层对象const lay = new T.TileLayer(imageURL, {minZoom: 1, maxZoom: 18});const lay2 = new T.TileLayer(imageURLT, {minZoom: 1, maxZoom: 18});var config = {layers: [lay,lay2]};map = new T.Map('mapDiv',config);map.centerAndZoom(new T.LngLat(107.353926, 22.404108), zoom);//ajax向后台请求各个类型的数据$.ajax({url: "locdata",type: "GET",data: {},success: function (data) {//全部数据(租赁and自购)dataloc=data[0]//建立覆盖物buildCovers(dataloc)console.log(dataloc)}})}//购买方式:全选覆盖物function buildCovers(coverdata){//创建图标对象let icon = new T.Icon({iconUrl: "http://api.tianditu.gov.cn/img/map/markerA.png",iconSize: new T.Point(19, 27),//设置图标可视区域的大小 。iconAnchor: new T.Point(10, 25)//设置相对于图片左上角的像素距离 。可看作偏离(0,0)坐标});for (let i in coverdata){//循环将每一个坐标点创建Marker类对象var marker = new T.Marker(new T.LngLat(coverdata[i][2],coverdata[i][3]),{icon: icon});// 创建标注//先将关于该坐标点的信息存储到数据库中var content = [coverdata[i][4],coverdata[i][5],coverdata[i][6],coverdata[i][7],coverdata[i][1],coverdata[i][0]];// 将标注添加到地图中map.addOverLay(marker);//添加坐标点的监听事件 , 当鼠标触碰该点时打开信息窗口addMouseoverHandler(content,marker);}}//鼠标在覆盖物上的监听事件function addMouseoverHandler(content,marker){marker.addEventListener("mouseover",function(e){openInfo(content,e)});}//窗口信息function openInfo(content,e){var point = e.lnglat;// 创建信息窗口对象var markerInfoWin = new T.InfoWindow()var sContent =`
- 山野异事是什么
- 企业数字化转型:打破信息孤岛的重要途径
- Java开发 - 配置中心初体验
- NBA公布新秀赛名单:塔图姆、西蒙斯领衔 欧文成教练
- 关于iphone es的介绍 iphone es
- 记在墨者学院业务逻辑漏洞靶场实战感受
- 氧化钙和碳反应 氧化钙和碳反应生成碳化钙和一氧化碳
- 《西蒙斯》阅读笔记之二:万行并发
- UC地址栏php,uc浏览器怎么设置地址栏自动补全?
- 【嵌入式技术及应用】10分钟拿下嵌入式