GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

这篇具有很好参考价值的文章主要介绍了GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

1、官网示例

官网示例-地图信息框——https://maptalks.org/examples/cn/ui-control/ui-map-infownd/#ui-control_ui-map-infownd

效果

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

代码

index.html文章来源地址https://www.toymoban.com/news/detail-451075.html

<!DOCTYPE html>
<html>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>空间与UI组件 - 地图信息框</title>
  <style type="text/css">
  html,
  body {
    margin: 0px;
    height: 100%;
    width: 100%;
  }

  .container {
    width: 900px;
    height: 500px;
    margin: 50px;
  }
  </style>
  <link rel="stylesheet" href="https://unpkg.com/maptalks/dist/maptalks.css">
  <script type="text/javascript" src="https://unpkg.com/maptalks/dist/maptalks.min.js"></script>
  <body>

    <div id="map" class="container"></div>
    <script>
      var map = new maptalks.Map('map', {
        center: [-0.113049,51.49856],
        zoom: 14,
        baseLayer: new maptalks.TileLayer('base', {
          urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
          subdomains: ['a','b','c','d'],
          attribution: '&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>'
        })
      });

      var options = {
        'title'     : 'Map\' InfoWindow',
        'content'   : 'Click on map to reopen'

        // 'autoPan': true,
        // 'width': 300,
        // 'minHeight': 120,
        // 'custom': false,
        //'autoOpenOn' : 'click',  //set to null if not to open window when clicking on map
        //'autoCloseOn' : 'click'
      };
      var infoWindow = new maptalks.ui.InfoWindow(options);
      infoWindow.addTo(map).show();

    </script>
  </body>
</html>
2、官网示例改造版

效果

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

index.html

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>空间与UI组件 - 地图信息框</title>
<style type="text/css">
  html,
  body {
    margin: 0px;
    height: 100%;
    width: 100%;
  }

  .container {
    width: 900px;
    height: 500px;
    margin: 50px;
  }
</style>
<link rel="stylesheet" href="https://unpkg.com/maptalks/dist/maptalks.css">
<script type="text/javascript" src="https://unpkg.com/maptalks/dist/maptalks.min.js"></script>

<body>

  <div id="map" class="container"></div>
  <script>
    var map = new maptalks.Map('map', {
      center: [-0.113049, 51.49856],
      zoom: 14,
      baseLayer: new maptalks.TileLayer('base', {
        urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
        subdomains: ['a', 'b', 'c', 'd'],
        attribution: '&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>'
      })
    });

    var options = {
      // 题目
      'title': 'Map\' InfoWindow-地图信息窗',
      // 内容
      'content': 'Click on map to reopen-点击重新打开地图',
      // 自动平移
      'autoPan': true,
      'width': 340,
      'minHeight': 120,
      // 自定义属性
      // 'custom': false,
      // 自动打开方式
      // 'autoOpenOn' : 'click',  //set to null if not to open window when clicking on map (如果单击地图时不打开窗口,则设置为空)
      // 自动关闭方式
      // 'autoCloseOn' : 'click'
    };
    var infoWindow = new maptalks.ui.InfoWindow(options);
    infoWindow.addTo(map).show();

  </script>
</body>

</html>
3、获取图层的坐标-信息框展示图层的坐标

效果1-打印点的坐标

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

效果2-信息框中展示点的坐标

GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示

代码

index.html

<!DOCTYPE html>
<html>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>交互 - 绘制工具</title>
<style type="text/css">
  html,
  body {
    margin: 0px;
    height: 100%;
    width: 100%;
  }

  .container {
    width: 900px;
    height: 500px;
    margin: 50px;
  }
</style>
<link rel="stylesheet" href="https://unpkg.com/maptalks/dist/maptalks.css">
<script type="text/javascript" src="https://unpkg.com/maptalks/dist/maptalks.min.js"></script>

<body>

  <div id="map" class="container"></div>

  <script>

    var map = new maptalks.Map('map', {
      // center: [-0.113049,51.498568],
      center: [-0.1310557164531474, 51.502540469671175],
      zoom: 20,
      baseLayer: new maptalks.TileLayer('base', {
        urlTemplate: 'https://{s}.basemaps.cartocdn.com/light_all/{z}/{x}/{y}.png',
        subdomains: ['a', 'b', 'c', 'd'],
        attribution: '&copy; <a href="http://osm.org">OpenStreetMap</a> contributors, &copy; <a href="https://carto.com/">CARTO</a>'
      })
    });

    var layer = new maptalks.VectorLayer('vector').addTo(map);

    var drawTool = new maptalks.DrawTool({
      mode: 'Point'
    }).addTo(map).disable();

    drawTool.on('drawend', function (param) {
      console.log('点的原始坐标数据', param.geometry._coordinates);
      var arrData = '';
      arrData = '[' + param.geometry._coordinates.x + ',' + param.geometry._coordinates.y + ']'
      console.log('点的拼接坐标', arrData);

      // 信息框展示点的坐标
          var options = {
          'title'     : '绘制点的坐标',
          'content'   : arrData

          // 'autoPan': true,
          // 'width': 300,
          // 'minHeight': 120,
          // 'custom': false,
          //'autoOpenOn' : 'click',  //set to null if not to open window when clicking on map
          //'autoCloseOn' : 'click'
        };
        var infoWindow = new maptalks.ui.InfoWindow(options);
        infoWindow.addTo(map).show();



      layer.addGeometry(param.geometry);
    });

    var items = ['Point', 'LineString', 'Polygon', 'Circle', 'Ellipse', 'Rectangle', 'FreeHandLineString', 'FreeHandPolygon'].map(function (value) {
      return {
        item: value,
        click: function () {
          drawTool.setMode(value).enable();
        }
      };
    });

    var toolbar = new maptalks.control.Toolbar({
      items: [
        {
          item: 'Shape',
          children: items
        },
        {
          item: 'Disable',
          click: function () {
            drawTool.disable();
          }
        },
        {
          item: 'Clear',
          click: function () {
            layer.clear();
          }
        }
      ]
    }).addTo(map);
    var marker1 = new maptalks.Marker(
      [-0.131049, 51.502500],
      {
        'symbol': {
          'markerFile': './56.svg',
          'markerWidth': 300,
          'markerHeight': 400,
          'markerDx': 0,
          'markerDy': 0,
          'markerOpacity': 1
        }
      }
    ).addTo(layer);

  </script>
</body>

</html>

到了这里,关于GIS工具maptalks开发手册(四)01——渲染地图信息框之添加绘制工具、获取点的坐标数据信息框进行展示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp开发小程序获取定位信息(腾讯地图)

    定位一直是一个让人头疼的问题,不是这个有问题就是那里有问题。这里结合我多方查找和实际运行,获得的一些经验给予分享。 怎么进行定位?基本流程是: 1.去腾讯位置服务的控制那里创建一个应用 腾讯位置服务 - 立足生态,连接未来 (qq.com) 2.添加一个key,并开通WebS

    2024年02月22日
    浏览(43)
  • 嵌入式软件开发工程师应该关注芯片数据手册中的哪些信息

    1. 芯片的架构和处理器类型:了解芯片的架构和处理器类型可以帮助开发人员选择合适的开发工具和编程语言。 2. 芯片的时钟频率和电源要求:了解芯片的时钟频率和电源要求可以帮助开发人员设计合适的电路和电源系统。 3. 芯片的存储器类型和容量:了解芯片的存储器类

    2024年02月08日
    浏览(39)
  • 如何将GIS地图和可视化结合使用实现更好的数据呈现

    GIS(地理信息系统) 和 可视化(visualization) 是两个紧密相关的领域。GIS是一种用于管理、分析和展示地理空间数据的技术,而可视化则是一种用图形、图表、动画等形式展示数据的方式。 GIS地图 则是指基于地理信息系统技术,将各种地理数据在一个地图上进行展示的地图

    2023年04月22日
    浏览(35)
  • WebGIS学习-01-GIS基础概念与Mapbox基础

    1.栅格数据: -.jpg,.png等图片数据; -卫星等拍摄的影像;.tiff 2.矢量数据: -geojson的数据,多用于绘制边界 -放大缩小都不会失真,且高度支持手绘 对于栅格数据: -1.网页将栅格数据渲染为img标签 -2.利用canvas进行绘图 对于矢量数据: -1.渲染为svg标签 -2.渲染为canvas leaflet:

    2024年02月07日
    浏览(28)
  • uniapp开发小程序解析经纬度获取当前位置信息(高德地图三)

    选择了高德地图定位 高德地图官网 小程序步骤如下:      1.首先创建应用       2.点击增添key按钮申请小程序key         3.然后下载它的微信小程序版 SDK:微信小程序 SDK         4.把下载的sdk放在公共的文件里,这里我放在了utils文件目录下          5.使用页面导入此

    2024年02月02日
    浏览(41)
  • uniapp开发小程序解析经纬度获取当前位置信息(腾讯地图二)

    选择了腾讯地图定位 腾讯地图官网 具体实践步骤如下: 申请开发者密钥 申请密钥key 开通webserviceAPI服务 下载小程序SDK 腾讯地图小程序文档sdk 微信后台配置请求request域名 小程序管理后台 详细步骤 1. 下载解压后的 qqmap-wx-jssdk.js文件放到项目中,然后在页面引入使用 [ uni-app中

    2024年02月15日
    浏览(43)
  • 【开发工具 - 安装手册】BeyondCompare4 下载与安装 + 永久免费使用

    1. 官网       Download Beyond Compare Free Trial 2. 下载 阿里云盘  (不限速 - 推荐) 官网下载 3. 安装(无脑下一步) 4.永久免费使用  修改注册表 1、在搜索栏中输入 regedit ,打开注册表 2、 删除项目:计算机 HKEY_CURRENT_USERSoftwareScooterSoftwareBeyond Compare 4CacheId 5. 每周自动删掉

    2024年02月10日
    浏览(47)
  • Qgis二次开发-QgsMapTool地图交互工具详解

    1.简介 QgsMapTool地图工具是用于操作地图画布的用户交互式工具。例如,地图平移和缩放功能被实现为地图工具。 QgsMapTool是抽象基类,以下是类的继承关系: QgsMapToolEdit:用于编辑矢量几何图形的映射工具的基类  QgsMapToolEmitPoint:一个地图工具,当单击地图时,它只是发出一

    2024年02月16日
    浏览(32)
  • 探索未知世界:桌面端3D GIS引领地理信息新时代

    近年来, 桌面端的三维地理信息系统(3D GIS) 在地理信息领域迎来了显著的发展,为我们带来了更深入、更丰富的地理空间认知和数据分析体验。从城市规划到环境保护,从资源管理到应急响应,桌面端的3D GIS正逐渐成为解决复杂地理问题的有力工具。 深度还原地理空间:

    2024年02月11日
    浏览(32)
  • GIS工具包

    GIS工具包,根据jts工具,结合实际使用场景提取出来的常用工具集合;涵盖几何格式转换(WKT,GeoJSON等)与geometry转换、gis距离计算、度距离单位换算、角度计算、buffer运算、映射截取、几何穿串等操作 gis-tools源码库地址 1.1 WktTool使用说明 wkt格式与geometry互转; wkt转geometry操作

    2024年02月06日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包