首页 > 其他分享 >Openlayers零基础教程【6】geojson实现点要素

Openlayers零基础教程【6】geojson实现点要素

时间:2025-01-02 13:26:59浏览次数:3  
标签:style ol layer geojson source Openlayers 基础教程 new

1. geojson定义

geojson 数据是矢量数据,是包含地理信息的json数据,格式是以key:value的形式存在的。后缀以 geojson结尾

2. geojson设置一个点要素

本篇内容我们主要介绍使用geojson设置一个点要素,效果如下图所示。

3. 实现步骤:

3.1. 创建geojson数据

/* 创建geojson数据 */
var data = {
  type: "FeatureCollection",
  features: [
    {
      type: "Feature",
      geometry: {
        type: "Point",
        coordinates: [114.30, 30.50]
      }
    }
  ]
}

3.2. 将数据添加到矢量数据源

/* 将数据添加到矢量数据源中 */
var source = new ol.source.Vector({
    features: new ol.format.GeoJSON().readFeatures(data)
});

3.3. 设置矢量图层

/* 设置矢量图层 */
var layer = new ol.layer.Vector({
    source: source
});

3.4. 添加矢量图层到地图容器

/* 添加矢量图层到地图容器 */
map.addLayer(layer);

3.5. 给要素添加属性

const style = new ol.style.Style({
    image: new ol.style.Circle({
        radius: 10,
        fill: new ol.style.Fill({
            color: "#ff2d51"
        })
    })
});
layer.setStyle(style);

3.6. 给点要素添加描边:

stroke: new ol.style.Stroke({
    color: "#333"
})

代码示例:

var data = { 
  type: "FeatureCollection", 
  features: [ 
    { 
      type: "Feature", 
      geometry: { 
        type: "Point", 
        coordinates: [114.30, 30.50] 
      } 
    } 
  ] 
} 
var source = new ol.source.Vector({ 
  /* 将geojson数据设置给实例数据源 */ 
  features: new ol.format.GeoJSON().readFeatures(data) }) 
var layer = new ol.layer.Vector({ 
  source 
}) 
map.addLayer(layer); 

设置样式

const style = new ol.style.Style({       
  image: new ol.style.Circle({ 
    radius: 8, 
    fill: new ol.style.Fill({ 
      color: "#ff2d51" 
    }), 
    stroke: new ol.style.Stroke({ color: '#333', 
                                  width: 2 
                                }) 
  }), 
}) 
layer.setStyle(style); 

4. 总结:

本篇教程我们学习了geojson的基本概念以及如何利用geojson设置点要素,下一篇我们继续学习如何建立线要素。

需要本视频教程的找博主免费领取。

标签:style,ol,layer,geojson,source,Openlayers,基础教程,new
From: https://blog.csdn.net/2403_88103571/article/details/144882846

相关文章

  • RL强化学习基础教程(李宏毅老师课程笔记)
    RL概述增强式学习(一)与机器学习一样都是三个步骤那RL可以講的技術啊,非常非常地多,它不是在一堂課裡面可以講得完的,我甚至覺得說,如果有人要把它開成一整個學期的課,可能也是有這麼多東西可以講,所以今天啊,這堂課的目的,並不是要告訴你有關RL的一切,而是讓大家有一個基本的認識,大概......
  • 46.在 Vue3 中使用 OpenLayers 双击鼠标显示品牌代言人名片
    在现代Web开发中,地图可视化已成为非常常见的需求之一,尤其是在地理位置相关的应用中。OpenLayers是一款强大的开源JavaScript库,能够帮助开发者在网页中实现各种地图功能。结合Vue3的强大功能,我们可以轻松地将OpenLayers集成到Vue项目中,展示地图上的地理信息。本文......
  • Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品
    随着技术的成熟和AI的崛起,很多原本需要团队协作才能完成的工作现在都可以通过自动化和智能化的方式完成。于是乎,单个开发者的能力得到了极大的提升-借助各种工具,一个人就可以完成开发、测试、运维等整条链路上的工作,渡劫飞升成为真正的“全干工程师”。之前我们分享过一些入......
  • openlayers 6/7 绘制自定义圆 渐变圆
    openlayers绘制自定义圆渐变圆效果图目录openlayers绘制自定义圆渐变圆效果图简介主要特点使用场景示例js部分定义中心点修改中心点为圆心点创建圆自定义圆样式绘制圆添加圆到图层线上示例简介OpenLayers是一个开源的JavaSc......
  • JAVA基础教程-(二)JAVA面向对象编程
    教程目录JAVA基础教程JAVA面向对象编程(二)一、类的成员1.1、属性1.2、方法1.2.1、方法的重载(overload)1.2.2、可变个数形参1.2.3、方法参数的值传递的机制1.3、构造器(构造方法)1.4、总结:属性赋值过程二、面向对象特征:封装和隐藏JAVA基础......
  • 39.在 Vue3 中使用 OpenLayers 导出 GeoJSON 文件及详解 GEOJSON 格式
    一、引言在Web地图开发领域,Vue3作为一款流行的前端框架,结合强大的OpenLayers地图库,能够实现丰富多样的地图功能。其中,将地图数据以GeoJSON格式导出是一项常见且实用的需求,本文将深入探讨如何在Vue3环境下借助OpenLayers达成这一目标,并详细剖析GeoJSON格式文件。......
  • 40.在 Vue3 中使用 OpenLayers 实现 canvas 遮罩效果
    一、引言在Vue3前端开发与地图应用结合的场景中,OpenLayers作为强大的地图库,为我们带来了丰富多样的功能拓展可能性。今天,我们将深入探讨如何利用OpenLayers在Vue3项目里巧妙地实现canvas遮罩效果,这一技巧能够为地图应用增添独特的交互体验与视觉呈现,无论是突出特定区......
  • JAVA基础教程-(一)JAVA面向对象编程
    教程目录JAVA基础教程JAVA面向对象编程(一)一、面向过程与面向对象1.1、何谓“面向对象”的编程思想?二、Java语言基本元素:类和对象2.1、Java类及类的成员三、对象的创建和使用3.1、对象的产生3.2、内存解析3.3、匿名对象JAVA基础教程J......
  • 大模型零基础教程(非常详细),大模型入门到精通,收藏这一篇就够了!
    什么是大模型大模型,是指在人工智能领域,特别实在自然语言处理和机器学习中,拥有大量参数的深度学习模型。这些模型通过在大规模数据集上进行训练,能够学到丰富的数据表示和模式,从而在各种任务上表现出色,如文本生成,语言理解,图像识别等。大模型是具有大量参数和复杂结构的模型......
  • AI产品经理基础教程(非常详细),AI产品经理入门到精通,收藏这一篇就够了!
    作为一个非算法出身的AI产品经理,转行之前我也有过纠结和顾虑,怕自己“干不了”。在做了3年AI产品之后,我的结论是:现如今大模型跑步落地的时期,存在很多信息差,非常适合“乱入”。当下转行AI产品经理的优势市场需求大,行业发展前景广阔从chatgpt问世以来,AI技术的发展是有目共......