当我添加一个用户在地图上绘制的MultiPolygon几何图形时,该几何图形不会显示在我绘制的地方。它显示在另一个地方。
我将几何图形发送到我的api,他的目标是在我的postgre Databse中添加几何图形。因此,在我的API中:
var geom = req.body.geom
var geom2 = "ST_GeomFromText('" + geom + "',2154)"
pool.query( 'INSERT INTO potentiel_foncier_ccry (nature, geom, nbr_lgmt) VALUES ('+ mysql.escape(nature)+','+geom2+','+mysql.escape(logement)+')'
在显示我的数据的功能中:
foncier2.getSource().addFeatures(foncier2.getSource().getFormat().readFeatures(
myGeoJSON, {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857'
}));
foncier2.getSource().refresh();
foncier2.getSource().changed();
map.getView().fit(foncier2.getSource().getExtent());
}
问题来自投影?在我的数据库中,我被迫将几何存储在EPSG:2154中。
我在这里画的例子:
将几何图形添加到数据库中后,要在海上显示:
Ps:我使用OpenLayer 5.3.0。