如何解决维护 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的一个例子,它可以维护线和多边形的拓扑。
希望这对某人有所帮助:)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。