当前位置: 首页 > 知识库问答 >
问题:

javascript - openLayer 如何在已知map区域截取部分区域,且用动画进行覆盖?

冀望
2023-04-20

如图
image.png

已有的数据可以渲染出 颍上县 区域,现在的需求是:
1.截取右下角部分显示为 白色,左上部分保持绿色
2.截取的白色部分用模拟扫描动画的方式,有一个 【飞机/人】 的图标 从上到下然后从下再到上如此反复,直至填充满整个白色区域

共有1个答案

牟星火
2023-04-20

问题1:

import { getVectorContext } from "ol/render";
const raster = new TileLayer({
  source: new XYZ({
    url,
    projection: "EPSG:3857",
  }),
  zIndex: 3,
  visible: true,
});

map.addLayer(raster);

const multiPolygon = geojson.features.map((feature) => feature.geometry.coordinates);
const clipFeature = new MultiPolygon(multiPolygon).transform("EPSG:4326", "EPSG:3857");

raster.on("postrender", function (e: any) {
  // 裁剪
  const vectorContext = getVectorContext(e);
  const style = new Style({
    fill: {color:"#000"}
  });
  e.context.globalCompositeOperation = "destination-in";
  vectorContext.setStyle(style);
  vectorContext.drawGeometry(clipFeature);
  e.context.globalCompositeOperation = "source-over";
  raster.setExtent(clipFeature.getExtent());
})
 类似资料:
  • 1.一个省下面已经有了一个“区县代理”了,就不能有其他人申请“省代”了吗? 同区域同等级,保持唯一性,有了一个省代就不能再有另一个了。

  • 我需要一些帮助来估计某种形态学操作(最好使用skimage或scipy image或通常使用python),这些操作可以帮助我隔离由所有边包围的区域(参见Images.)问题是外壳可以有不同的形状和大小。封闭区域的形状和大小也各不相同。图像的例子,其中封闭的(由白色区域)黑色区域需要隔离。 通过隔离,我的意思是获得封闭的黑色区域中的所有像素坐标。 实施例1

  • 区域是物理概念,代表数据中心的地理区域。 区域是物理概念,代表数据中心的地理区域。 区域来源: 本地IDC:在部署云管平台过程中会设置本地IDC的区域和可用区信息,部署完成后只支持添加可用区。 私有云:同步已连接私有云账号上的区域和可用区信息。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “网络/地域/区域” 菜单项,进入区域列表。 查看区域详情 该功能用于查看区域的详细信息。

  • 在App开发中,div区域滚动的需求是普遍存在的,但系统默认实现又有如下问题: Android平台4.0以下不支持div滚动 Android平台4.0以上支持div滚动,但不显示滚动条 弹出层的div滚动在iOS平台存在事件透传的问题 因此,mui额外提供了区域滚动组件,使用时需要遵循如下DOM结构 <div class="mui-scroll-wrapper"> <div class="m

  • 本文向大家介绍Android实现bitmap指定区域滑动截取功能,包括了Android实现bitmap指定区域滑动截取功能的使用技巧和注意事项,需要的朋友参考一下 突然不知道什么心态,说要做这个,网上找了半天没找到合适的,就自己做了一个。 先上效果图: 透明区域为将要截取的区域,其他阴影部位为舍弃区域 图片资源我写死储存在了raw中,有需要可以自己写获取bitmap。 界面layout: Scre