OpenLayers 天地图 geoserver 多边形绘制获取面积

这篇博客详细介绍了如何在React应用中结合OpenLayers与Geoserver实现多边形的绘制操作,包括初始化地图、绘制多边形、撤销绘制、结束绘制、清除绘制以及回显已绘制的多边形等功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引入Openlayers

npm install ol -S
import 'ol/ol.css';
import Map from 'ol/Map';
import View from 'ol/View';
import {
   
    Circle as CircleStyle, Fill, Stroke, Style, Icon } from 'ol/style';
import {
   
    Draw, Snap} from 'ol/interaction';
import {
   
    Vector as VectorSource } from 'ol/source';
import {
   
    Tile as TileLayer, Vector as VectorLayer, Image } from 'ol/layer';
import ImageWMS from 'ol/source/ImageWMS';
import XYZ from 'ol/source/XYZ';
import {
   
    get} from 'ol/proj';
import Feature from 'ol/Feature';
import Polygon from 'ol/geom/Polygon';
import Overlay from 'ol/Overlay';
import {
   
    getArea } from 'ol/sphere';

初始化

    var projection = get('EPSG:4326');
    //geoserver卫星地图
    const myImageLoader = new Image({
   
   
      source: new ImageWMS({
   
   
        url: '',//地址WMS
        params: {
   
   
          LAYERS: '',//名称
          VERSION: '1.1.1',
          SERVICE: 'WMS',
          REQUEST: 'GetMap',
          FORMAT: 'image/jpeg',
          exceptions: 'application/vnd.ogc.se_inimage',
        },
        serverType: 'geoserver',
      }),
      extent: [minx, miny, maxx, maxy],//边界范围,展示范围,超出范围则不展示,不设置超出部分返回的是白色图片,会覆盖下方天地图图层。
      zIndex: 3,//图层等级
      title: '卫星',
    });
    //天地图影像地图
    var tian_di_tu_satellite_layer = new TileLayer({
   
   
      title: '天地图卫星影像',
      visible: true,
      source: new XYZ({
   
   
        url:
          'http://t4.tianditu.com/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=你的key',
      }),
      zIndex: 2,
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值