维护 MultiLineString 上的拓扑

问题描述

我正在尝试使用 TopoJSON 通过 Leaflet-Geoman 插件获得线条的拓扑运动。有一个 method 叫做 //login function login(Request $req) { $user = User::where('email',$req->email)->first(); if(!$user || !Hash::check($req->password,$user->password)) { return ["error"=> "Email or password is not matched"]; } return $user; } ,它

返回表示给定拓扑中指定对象的网格的 GeoJSON MultiLinestring 几何对象。这对于有效渲染复杂对象中的笔划很有用,因为多个特征共享的边缘仅被绘制一次。如果没有指定对象,则返回整个拓扑的网格。

感谢在 this 帖子中的回答,我已经能够使用 async function login() { let item = { email,password } let result = await fetch("http://localhost:8000/api/login",{ method: "POST",headers:{ "content-type":"application/json","Accept":"*/*" },body:JSON.stringify(item) }); result = await result.json(); console.warn(result) localStorage.setItem("user-info",JSON.stringify(result)) history.push('/homepage') } 返回 MultiLinestring。由于 Leaflet-Geoman 支持 MultiLinestring,我想到了可以使用 Leaflet-Geoman 编辑返回的网格,同时保持拓扑属性

但是当我尝试完成它时,当我尝试使用 geoman 插件对其进行编辑时,返回的 MultiLinestring 被分成两部分。我的问题是它是否真的是从 topojson.mesh 返回的网格,为什么这些线会分开?这是由geoman插件引起的吗?如果是这样,我该如何完成?有没有什么办法可以在保持拓扑的同时通过拖动节点来更改节点的位置?

我会在下面附上代码

topojson.mesh

data.geojson

topojson.mesh

解决方法

对于正在寻找此类问题答案的任何人,我找到了一种使用 OpenLayers v6.5.0 的方法。他们是Draw and Modify Features的一个例子,它可以维护线和多边形的拓扑。

希望这对某人有所帮助:)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...