Openlayers 圆的操作
Openlayers 圆的操作
- OpenLayers 教程
- Openlayers 圆的操作
- 在线示例
OpenLayers 教程
最开始接触地图的时候,对圆的理解不正确,以为也是面状的;实际上 Openlayers 中圆指的就是圆点和半径,而面状的圆其实就是多边形,比如十七边形,只是看起来像圆。
下边介绍创建圆的方法以及根据圆获取圆形多边形的方法。
Openlayers 圆的操作
<html lang="en">
<head><meta charset="utf-8"><!--注意:openlayers 原版的比较慢,这里引起自己服务器版--><link rel="stylesheet" href="http://openlayers.vip/examples/css/ol.css" type="text/css"><style>/* 注意:这里必须给高度,否则地图初始化之后不显示;一般是计算得到高度,然后才初始化地图 */.map {height: 400px;width: 100%;float: left;}</style><!--注意:openlayers 原版的比较慢,这里引起自己服务器版--><script src="http://openlayers.vip/examples/resources/ol.js"></script><script src="./tiandituLayers.js"></script><title>OpenLayers example</title>
</head>
<body>
<h2>Feature transfer</h2>
<!--地图容器,需要指定 id -->
<div id="map" class="map"></div>
<!--注意:本示例将 高德腾讯坐标设置为黑色;将百度坐标设置为黄色 -->
<!--注意:本示例将 高德腾讯坐标转为WGS84颜色设置为粉色;将百度坐标转为WS84颜色设置为绿色 -->
<script type="text/javascript">var map = new ol.Map({// 地图容器target: 'map',// 地图图层,比如底图、矢量图等layers: [getIMG_CLayer(),getIBO_CLayer(),getCIA_CLayer(),],// 地图视野view: new ol.View({projection: "EPSG:4326",// 定位center: [116, 39],// 缩放zoom: 4,maxZoom: 18,minZoom: 1,})});var xy = [116.391232637988, 39.907157016256974];let myCircle = new ol.geom.Circle(xy, 0.01);let feature = new ol.Feature({geometry: myCircle,name: 'My Circle',});// 矢量图层var layer = initVectorLayer();/*** @todo 矢量图层* @returns {VectorLayer}* @constructor*/function initVectorLayer() {//实例化一个矢量图层Vector作为绘制层let source = new ol.source.Vector();//创建一个图层let customVectorLayer = new ol.layer.Vector({source: source,zIndex: 2,//设置样式style: new ol.style.Style({//边框样式stroke: new ol.style.Stroke({color: 'red',width: 5,lineDash: [3, 5]}),//填充样式fill: new ol.style.Fill({color: 'rgba(0, 0, 255, 0.3)',}),}),});//将绘制层添加到地图容器中map.addLayer(customVectorLayer);customVectorLayer.getSource().addFeatures([feature]);var extent = customVectorLayer.getSource().getExtent();map.getView().fit(extent, {duration: 1,//动画的持续时间,callback: null,});return customVectorLayer;}// 多边形圆function toPolygon() {//根据圆的图形要素 Feature 构建多边形圆var polygon_circle = new ol.Feature({// 圆的几何图形,多边形数量geometry: ol.geom.Polygon.fromCircle(feature.getGeometry(), 16, 0),name: 'polygon_circle'})polygon_circle.setStyle(new ol.style.Style({//边框样式stroke: new ol.style.Stroke({color: 'blue',width: 5,lineDash: [3, 5]}),//填充样式fill: new ol.style.Fill({color: 'rgba(255, 255, 255, 1)',}),}))layer.getSource().addFeatures([polygon_circle]);}</script><button id="toPolygon" onclick="toPolygon()">转为多边形圆</button>
</body>
</html>
在线示例
Openlayers 圆的操作:Openlayers circle
Openlayers 圆的操作相关推荐
- Openlayers 图层的常用操作
Openlayers 图层的常用操作 OpenLayers 教程 Openlayers 图层的常用操作 在线示例 OpenLayers 教程 在 Openlayers 中,图层是非常基础的对象,这里汇 ...
- python编程定义圆_Python语言编程系列014——PyQt中自定义圆形指示灯
背景 PyQt是Qt界面库在Python下的绑定库,为熟悉或喜欢Qt的开发者在Python语言下编写GUI界面程序提供了极大的便利,关于自定义控件前面已经给出了两个例子,分别是自定义颜色指示框控件和自 ...
- 216:vue+openlayers 加载GPX数据,导出geojson文件
第216个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中加载GPX数据,显示图形, 导出geojson文件. GPX(GPS eXchange Format,GPS交换 ...
- 031:vue+openlayers加载GPX数据(代码示例)
第031个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中加载GPX数据,显示图形. GPX(GPS eXchange Format,GPS交换格式)是一个XML格式,为 ...
- 155:vue+openlayers 设置地图的反转色、复古色、灰度图、原始图
第155个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中设置地图的反转色.复古色.灰度,原始状态等.采用的是CSS filter的形式. 直接复制下面的 vue+ope ...
- 029:vue+openlayers:使用MVT格式读取瓦片数据(示例代码)
第029个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中使用MVT读取矢量瓦片数据,并显示图形. 直接复制下面的 vue+openlayers源代码,操作2分钟即可运行 ...
- 127:vue+openlayers 使用CRTL控制map拖拽和鼠标滚动 (示例代码)
第127个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中设置控制条件,使用CRTL控制map拖拽和鼠标滚动. 直接复制下面的 vue+openlayers源代码,操作2 ...
- 034:vue+openlayers上传KMZ文件并在map上解析(代码示例)
第034个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+openlayers中本地上传kmz文件,核心思路是利用jszip解压文件,读取kml数据,并在地图上显示图形. 直接复制下面的 vu ...
- 109:vue+openlayers 定位动画(平移-弹性平移-飞行 示例代码)
第109个 点击查看专栏目录 本示例的目的是介绍如何在vue+openlayers项目中来实现定位动画,实现平移,飞行,弹性动画等. 直接复制下面的 vue+openlayers源代码,操作2分钟即可 ...
最新文章
- 2017年前端面试题整理汇总100题
- oracle从备份归档日志的方法集中回收
- GridSearchCV.grid_scores_和mean_validation_score报错
- 【转:理论知识】SAP在建工程转固定资产
- Python-OpenCV 笔记8 -- PIL.Image和OpenCV图像格式转换
- 浅谈大型网站之负载均衡架构
- 微生物 研究_微生物监测如何工作,为何如此重要
- linux gpu 电脑推荐,System76推出具有RTX GPU更大显示器的Oryx Pro Linux笔记本电脑
- 俄国数学家称:“平行线可以相交”,却遭到质疑,死后12年被证实
- Python自由职业可以做什么?副业月入3000的快乐你根本想象不到
- Shell命令-文件及内容处理之sort、uniq
- MATLAB中zero和ones函数(转载)
- 软考网络工程师第一章复习
- Java 分页计算公式
- 读懂才会用 : 瞅瞅Redis的epoll模型
- html5 摇骰子游戏,HTML5+JavaScript实现掷骰子游戏代码
- [嵌入式linux]PCIe 热拔插(rescan)
- SAA7113视频解码芯片介绍
- QT之如何添加现有文件
- vue 上传视频到保利威视
热门文章
- MSSQLSERVER 与 SqlExpress
- 数据库主键概念与实际运用操作
- python 做excel可视化报告_Python操作Excel制作可视化数据图,实现自动化办公
- python解析pcap包,python-用scapy读取PCAP文件
- c语言斐波那契数列_从数学角度浅谈斐波那契数列
- JS 实现段落展开和收起的显示
- 计算机材料管理系统功能有材料账表管理,第十章现场材料的计算机管理ppt课件...
- 模型转换、模型压缩、模型加速工具汇总
- 记一次Qt5.12.2 Android 开发环境配置
- error 1962:no operating system found.boot sequence will automatically repeat.