OpenLayers

ArcGIS API for JavaScript 入门教程[1] 渊源

江枫思渺然 提交于 2020-05-03 23:48:24
->对于萌新,你可能需要了解一下这个东西是什么 ->对于已经知道要用这个东西的开发者,你可能需要了解一下它的底层机制 不针对大牛。龟速更新ing. 转载注明出处。博客园&CSDN&Bilibili:@秋意正寒 目录: https://www.cnblogs.com/onsummer/p/9080204.html 1. 是什么【萌新别跳这一步】 如果非萌新,可以跳过这一段文字。 想要知道ArcGIS API for JavaScript是什么,我大概用以下几条条目描述: 是一个WebGIS二次开发(如果不知道什么是WebGIS请用搜索引擎···)的前端开发包,使用JavaScript语言 出自美国Esri公司 是Esri的ArcGIS Runtime SDK家族中的一员 它不是纯Js写的库 能说明什么呢? 它能制作在线地理信息系统平台,能做数据分析、空间分析、数据展示等; 歪果仁写的,英文资料多,虽然中文也有一定数量的资料(博客、书籍等),但是呢,由于Esri更新贼快,一年三四更的,中文资料不一定跟得上速度; 你可能需要学很多附属的东西,这个API很庞大、很笨重,入门门槛其实不高,但是深入难,前端上,你得知道造这个API的基础——Dojo框架,而Dojo框架由于历史渊源,又来自从属AMD(异步模块定义)规范的RequireJs,要想了解AMD,又不得不去看一些前端和后端的发展史

Openlayers3 编辑要素

北慕城南 提交于 2020-05-03 22:12:29
参考文章 Openlayers之编辑要素 MAPZONE GIS SDK接入Openlayers3之五——图形编辑工具 【学习笔记之Openlayers3】要素保存篇(第四篇) openlayers实现在线编辑 【学习笔记之Openlayers3】查询分析篇(第五篇) 【学习笔记之Openlayers3】要素绘制篇(第三篇) 来源: oschina 链接: https://my.oschina.net/u/4292932/blog/4231712

JavaWeb和WebGIS学习笔记(五)——使用OpenLayers显示地图

蹲街弑〆低调 提交于 2020-05-02 20:14:43
系列链接: Java web与web gis学习笔记(一)——Tomcat环境搭建 Java web与web gis学习笔记(二)——百度地图API调用 JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图 JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层 前言 :在上一篇博客 JavaWeb和WebGIS学习笔记(四)——使用uDig美化地图,并叠加显示多个图层 中,我们使用Layer Preview功能,通过GeoServer自带的OpenLayer预览到了我们发布的地图。预览时的url通常是很长一串字符。 这种方式虽然也能够进行访问,但预览的URL包含了大量请求参数,直接提供这样一个URL链接既不方便访问,也有碍观瞻。因此,我们何不自己使用OpenLayers在自己的网页中显示发布的地图呢。 OpenLayers 是一个专为Web GIS 客户端开发提供的JavaScript 类库包,用于实现标准格式发布的地图数据访问。它 支持Open GIS 协会制定的WMS(Web Mapping Service)和WFS(Web Feature Service)等网络服务规范。可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外

openlayers5-webpack 入门开发系列结合 turf.js 实现等值线(附源码下载)

一曲冷凌霜 提交于 2020-05-01 20:03:53
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 webpack 配置介绍文档 详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学 vscode 安装包下载 ,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错 openlayers5 api文档介绍 ,详细介绍 openlayers5 每个类的函数以及属性等等 openlayers5 在线例子 内容概览 openlayers5 结合 turf.js 实现等值线 源代码 demo 下载 效果图如下: 关键函数 turf.pointGrid,从边界框,FeatureCollection 或 Feature创建点网格 关键函数turf.isolines,采用具有z值和值中断数的 Point 要素的网格 FeatureCollection 并生成等值线 关键函数 turf.bezierSpline,通过应用 Bezier 样条算法获取一条线并返回弯曲版本 核心代码如下: import {Map, View} from 'ol' ; import TileLayer from 'ol/layer/Tile' ; import XYZ from 'ol

openlayers5-webpack 入门开发系列一初探篇(附源码下载)

陌路散爱 提交于 2020-05-01 11:31:32
前言 openlayers5-webpack 入门开发系列环境知识点了解: node 安装包下载 webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 webpack 配置介绍文档 详细的 webpack 文档配置介绍,适合新手查看,我也是边看边学 vscode 安装包下载 ,我这边用 vscode工具编译开发前端项目,个人觉的这款工具还不错 openlayers5 api文档介绍 ,详细介绍 openlayers5 每个类的函数以及属性等等 openlayers5 在线例子 我之前写一系列关于 openlayers4 入门开发文章,但是官网推出来 openlayers5 版本的好一段时间, openlayers5 跟 openlayers4 版本差异不小,改为 import 形式引用 js css 等资源,所以,开始了本篇文章 openlayers5-webpack 入门开发系列一初探篇,对于 webpack 这个管理工具平台,我也是学习阶段,跟大家一起学习交流,写的不好之处,望见谅。 环境搭建 安装 node.js,笔者版本为:10.15.3 下载安装 vscode demo 项目工程文件目录以及关键代码讲解 dist webpack 打包编译后的文件夹 dist/index.html 地图主页 src/map.js

Leaflet入门:添加点线面并导入GeoJSON数据|Tutorial of Leaflet: Adding Points, Lines, Polygons and Import GeoJSO...

青春壹個敷衍的年華 提交于 2020-05-01 05:06:33
Web GIS系列: 1. 搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2. 使用GeoServer+QGIS发布WMTS服务 3. 使用GeoServer+OpenLayers发布和调用WMTS、Vector Tile矢量切片服务 4. Leaflet入门:添加点线面并导入GeoJSON数据 OpenLayers与Leaflet都是开源WebGIS组件中的佼佼者。之前的WebGIS系列博客中,重点以OpenLayers为JavaScript库,获得了广大GISer的关注。本文将对Leaflet进行详细介绍。所有代码都会整理并上传到GitHub上,欢迎Star和Fork! 本篇文章主要参考了Leaflet官方的入门介绍。 Quick Start Using GeoJSON 第一幅地图 首先是初始化地图并加载底图,其中setView可以设定视图的中心点和缩放层级。对于底图,可以调用OSM的切片地图,也可以调用Mapbox的切片地图。对于Mapbox的地图,需要申请API key之后才能调用。不同风格的地图可以参考: https://studio.mapbox.com/tilesets/ 初始化地图代码如下: // Init the map var mymap = L.map('mapid').setView([51

Openlayers+GeoServer导出地图图片及跨域问题

别说谁变了你拦得住时间么 提交于 2020-04-28 08:11:23
问题描述: 想用ol5.3实现地图的导出,Openlayers官网有实例,在这里就不写代码了。我自己的代码是加载了geoserver发布的图层,在导出时html页面后台提示错误: SecurityError: The operation is insecure. 原因是:canvas导出图片时,涉及到跨域的问题,需将图层的crossOrigins设置为“anonymous” 例如: var wmsSourceLucc = new ol.source.TileWMS({ crossOrigin: 'anonymous', // 解决错误:SecurityError: The operation is insecure. url: mapWmsURL, params: { 'LAYERS': luccLayerParams,tiled: true }, serverType: 'geoserver' }); 这样能解决像引入的天地图、谷歌地图、百度地图、OSM地图等的 SecurityError: The operation is insecure 问题,但是新的问题又来了:自己用geoserver发布的图层又出现了下面的错误 CORS 头缺少 'Access-Control-Allow-Origin' 还是跨域的问题,查了很多技术文档

OpenLayers 笔记4:矢量图层交互与选定矢量要素突出显示

僤鯓⒐⒋嵵緔 提交于 2020-04-21 04:54:31
目录 ol.interaction.Select概述 鼠标选定矢量要素突出显示 OpenLayers提供ol.interaction.Select类,来实现对矢量图层的交互。 也是通过监听地图、窗口事件,触发交互,使对应矢量要素产生动态变化。 ol.interaction.Select概述 ol.interaction.Select类可供设置的属性主要包括: condition: 触发交互的地图、浏览器事件,默认为ol.events.condition.singleClick。 可监听的事件 。 addCondition: 触发交互目标多选的地图、浏览器事件。 removeCondition: 触发去除以发生交互目标的地图、浏览器事件。 toggleCondition: 可同时触发多选和去除的地图、浏览器事件。默认为ol.events.condition.shiftKeyOnly。 layers: 触发交互的目标图层,可以为一个或多个。默认为所有可见图层。 features: 触发交互的目标矢量要素集合。 filter: 筛选交互的目标图层或要素集合。函数形式、返回结果,可设置限定条件下的筛选。 style: 交互触发后,对应矢量要素显示的样式。若为false,则样式不变。 multi: 面向重叠的矢量要素。默认为false,只选中最外层的矢量要素。若为true

openlayers6绘制扇形(附源码下载)

半世苍凉 提交于 2020-04-12 09:21:02
前言 之前写过一篇openlayers4版本的地图绘制扇形文章,但是由于是封装一层 js代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图绘制扇形文章,直接基于最新版本openlayers6写的,纯粹html + js + css形式,没有任何封装。 内容概览 1.基于openlayers6实现地图绘制扇形 2.源代码demo下载 效果图如下: 具体实现过程 html 样式 <html> <head> <meta charset="utf-8"> <title>Using OpenLayers with Webpack</title> <link rel="stylesheet" href="https://openlayers.org/en/latest/css/ol.css" type="text/css"> <style> html, body { margin: 0 ; height: 100% ; } #map { position: absolute; top: 0 ; bottom: 0 ; width: 100% ; } .ol - popup { position: absolute; background - color: white; -webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2 ))

openlayers6绘制扇形(附源码下载)

心已入冬 提交于 2020-04-12 09:10:58
前言 之前写过一篇openlayers4版本的地图绘制扇形文章,但是由于是封装一层 js代码写的,很多初学者看起来比较有点吃力,所以本篇文章重新写一篇地图绘制扇形文章,直接基于最新版本openlayers6写的,纯粹html + js + css形式,没有任何封装。 内容概览 1.基于openlayers6实现地图绘制扇形 2.源代码demo下载 效果图如下: 具体实现过程 html 样式 <html> <head> <meta charset="utf-8"> <title>Using OpenLayers with Webpack</title> <link rel="stylesheet" href="https://openlayers.org/en/latest/css/ol.css" type="text/css"> <style> html, body { margin: 0 ; height: 100% ; } #map { position: absolute; top: 0 ; bottom: 0 ; width: 100% ; } .ol - popup { position: absolute; background - color: white; -webkit-filter: drop-shadow(0 1px 4px rgba(0,0,0,0.2 ))