微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 ol.js 中修改 2 个多边形

如何解决如何在 ol.js 中修改 2 个多边形

step 1

step 2

当地图上的物体处于修改模式时,如何使用ol.js修改物体的墙壁,这样如果一侧移动,另一个物体的这面墙上的另一面墙也会随之移动??

import 'ol/ol.css';
import Map from 'ol/Map';
import View from 'ol/View';
import {Circle as CircleStyle,Fill,stroke,Style} from 'ol/style';
import {Draw,Modify,Snap} from 'ol/interaction';
import {OSM,Vector as VectorSource} from 'ol/source';
import {Tile as TileLayer,Vector as VectorLayer} from 'ol/layer';

var raster = new TileLayer({
  source: new OSM(),});

var source = new VectorSource();
var vector = new VectorLayer({
  source: source,style: new Style({
    fill: new Fill({
      color: 'rgba(255,255,0.2)',}),stroke: new stroke({
      color: '#ffcc33',width: 2,image: new CircleStyle({
      radius: 7,fill: new Fill({
        color: '#ffcc33',});

var map = new Map({
  layers: [raster,vector],target: 'map',view: new View({
    center: [-11000000,4600000],zoom: 4,});

var modify = new Modify({source: source});
map.addInteraction(modify);

var draw,snap; // global so we can remove them later
var typeSelect = document.getElementById('type');

function addInteractions() {
  draw = new Draw({
    source: source,type: typeSelect.value,});
  map.addInteraction(draw);
  snap = new Snap({source: source});
  map.addInteraction(snap);
}

/**
 * Handle change event.
 */
typeSelect.onchange = function () {
  map.removeInteraction(draw);
  map.removeInteraction(snap);
  addInteractions();
};

addInteractions();

当在图像中时,如果 2 个多边形在同一连接边上连接在一起,当移动这些公共边之一时,两边都会移动。哪里可以查看这段代码的变化,或者哪里出了问题??

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。