【高德地图入门】--- 解析geojson

这篇具有很好参考价值的文章主要介绍了【高德地图入门】--- 解析geojson。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

GeoJSON是一种用于编码各种地理数据结构的数据。GeoJSON对象可以表示几何、特征或特征集合。GeoJSON支持以下几何类型:点(Point)、线(LineString)、面(Polygon)、多点(MultiPoint)、多线(MultiLineString)、多面(MultiPolygon)和几何集合(GeometryCollection)。GeoJSON中的功能包含几何对象和其他属性,特征集合表示一系列特性。

举例

GeoJson 是有点,线,面组成. 因此高德地图也推出了对应的api,用来解析GeoJson

const geoJSON = {
        type: "FeatureCollection",
        features: [
          {
            type: "Feature",
            geometry: { type: "Point", coordinates: [102.0, 0.5] }
          },
          {
            type: "Feature",
            geometry: {
              type: "LineString",
              coordinates: [
                [102.0, 0.0],
                [103.0, 1.0],
                [104.0, 0.0],
                [105.0, 1.0],
              ]
            }
          },
          {
            type: "Feature",
            geometry: {
              type: "Polygon",
              coordinates: [
                [
                  [100.0, 0.0],
                  [101.0, 0.0],
                  [101.0, 1.0],
                  [100.0, 1.0],
                  [100.0, 0.0],
                ]
              ]
            }
          },
        ],
      };

上面的GeoJson 包含了 点,线,面 。下面看看高德地图是如何解析的呢

      new AMap.GeoJSON({
        geoJSON: geoJSON,
        getPolygon: function (geojson, lnglats) {
          console.log('面',lnglats);
        },
        getMarker: function (geojson, lnglats) {
          console.log('点',lnglats)
        },
        getPolyline: function (geojson, lnglats) {
          console.log('线',lnglats);
        },
      });

打印结果:
【高德地图入门】--- 解析geojson

多点 ,多面,多线 的解析

这里只拿多面举个例子
【高德地图入门】--- 解析geojson
打印结果
【高德地图入门】--- 解析geojson

几何集合的解析

【高德地图入门】--- 解析geojson
打印结果
【高德地图入门】--- 解析geojson

总结
由上面的例子可以看出, 依靠高德的 AMap.GeoJSON 可以对geoJson进行解析
AMap.GeoJSON中有四个属性
【高德地图入门】--- 解析geojson
AMap.GeoJSON每解析到一个面对象就会触发一次getPolygon对应的函数,如果geoJson对象中有多个面,就会多次触发getPolygon。点,线也是如此。


全部代码展示 (其中xxxx 高德的秘钥,cccc是高德的key,需要自己申请)

【高德地图入门】--- 解析geojson文章来源地址https://www.toymoban.com/news/detail-408029.html

<!DOCTYPE html>
<html>
  <head>
    <meta
      name="viewport"
      content="width=device-width initial-scale=1.0 maximum-scale=1.0 user-scalable=0"
    />
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>map</title>
    <style>
      body,
      html,
      #container {
        margin: 0;
        width: 100%;
        height: 100%;
      }
    </style>
  </head>

  <body>
    <div id="container"></div>
   
  </body>
  <script>
    window._AMapSecurityConfig = {
      securityJsCode: "xxxx",
    };
  </script>
  <script
    language="javascript"
    src="https://webapi.amap.com/maps?v=1.4.15&key=cccc&plugin=AMap.GeoJSON"
  ></script>

  <script language="javascript">
    const geoJSON = {
      type: "FeatureCollection",
      features: [
        {
          type: "GeometryCollection",
          geometries: [
            {
              type: "Point",
              coordinates: [108.62, 31.02819],
            },
            {
              type: "LineString",
              coordinates: [
                [108.896484375, 30.107117887],
                [108.2184375, 30.9171787],
                [109.5184375, 31.217578],
              ],
            },
          ],
        },
      ],
    };
    new AMap.GeoJSON({
      geoJSON: geoJSON,
      getPolygon: function (geojson, lnglats) {
        console.log("面", lnglats);
      },
      getMarker: function (geojson, lnglats) {
        console.log("点", lnglats);
      },
      getPolyline: function (geojson, lnglats) {
        console.log("线", lnglats);
      },
    });
  </script>
</html>

到了这里,关于【高德地图入门】--- 解析geojson的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 前端 解析压缩包,并且读取Shp生成GeoJson在MapBox上渲染

    这里需要先安装shapefile;jszip;turf npm install shapefile npm install jszip npm install @turf/turf

    2024年01月17日
    浏览(30)
  • 第六章 Cesium学习入门之添加Geojson数据(dataSource)

    第一章 Cesium学习入门之搭建Vite+Vue3+Cesium开发环境 第二章 Cesium学习入门之搭建Cesium界面预览和小控件隐藏 第三章 Cesium学习入门之地形数据(DEM)的加载 第四章 Cesium学习入门之加载离线影像图(tif) 第五章 Cesium学习入门之加载影像WMTS切片服务(ArcGIS/Geowebcache) 第六章 Ce

    2024年02月16日
    浏览(32)
  • java解析本地.geoJson地理信息,根据经纬度找到所在区域(全程Chatgpt3.5交互写代码,附gpt交流记录)

    对于一些因为安全等级而不连通外网的服务器,客户提出了根据本地.geoJson文件获取区域地理信息,根据用户提供的经纬度x,y坐标,找到这个点所在的区域 根据.geoJson文件中连续的点连线,画框构建多边形,再判断这个点再哪个多边形内 以下是chatgpt3.5给出的解释: 注意:根

    2024年02月06日
    浏览(40)
  • WebGL,Cesium以及GeoJSON数据的简单介绍

    目录 一、WebGL 二、Cesium (1)Cesium:一个用于显示三维地球和地图的开源js库。 (2)Cesium的基本功能: (3)cesium的依赖性与技术标准 (4)Cesium与周边产品的关系 (5)Cesium viewer界面部件介绍 三、GeoJSON数据 【GeoJSON数据】 【GeoJSON 对象 】 1 几何图形 2 Feature 3 特征集合 【可

    2024年02月12日
    浏览(44)
  • VUE3-Cesium(加载GeoJSON数据)

    目录 一、准备工作 1、新建vue项目 解决报错:使用nvm后找不到vue -V找不到版本 2、安装Cesium插件 3、安装 Element Plus、unplugin-vue-components 和 unplugin-auto-import 4、按需自动导入element-plus 测试按需自动导入element-plus是否配置成功 二、项目代码部分 1、引入sichuan.json文件 2、配置main

    2024年02月11日
    浏览(32)
  • 067:mapboxGL上传CSV文件,显示图形,导出为Geojson文件

    第067个 点击查看专栏目录 本示例的目的是演示如何在vue+mapbox中上传CSV文件,显示图形,导出为Geojson文件。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果

    2024年02月08日
    浏览(31)
  • cesium加载3dtile并将geojson进行叠加(保姆级教程)

    这段时间一直在研究这个问题,今天终于是解决了,受到了很多人的帮助,不然可能还要很久才能摸索出方法。 在开始之前,我们假设你已经知道了cesium的最基础的使用方法,比如下载cesium,启动cesium等。 好了,步入正题。首先你除了需要准备cesium的那些源码文件外还需要

    2023年04月08日
    浏览(32)
  • go gin gorm连接postgres postgis输出geojson

    go gin gorm连接postgres postgis输出geojson         go-gin-gorm         postgres-postgis         go vscode环境安装-智能提示配置         思路就是:采用原生sql实现查询、更新等,采用gorm的raw来执行sql语句         

    2024年02月09日
    浏览(25)
  • 050:mapboxGL加载geojson数据,同时包含点、多边形的处理示例

    第050个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载geojson数据,既显示点又显示多边形。这个示例是显示了一种处理方式,通过过滤的方式将数据分离化,点和多边形通过两个不同的图层来加载表示。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行

    2024年02月07日
    浏览(34)
  • leaflet使用L.geoJSON加载文件,参数pointToLayer的使用方法(130)

    第130个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+leaflet中加载geojson文件,这里介绍pointToLayer的使用方法。 点的处理方式不同于折线和多边形。默认情况下,简单标记使用为GeoJSON点绘制。在创建GeoJSON涂层时,我们可以通过pointToLayer在GeoJSON选项对象中传递函数来改

    2023年04月09日
    浏览(26)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包