У нас есть проект, в котором мы используем Mapbox для создания карты. Для передней части мы используем Angular 6 и Java для задней части.
Mapbox требует файл geo.json для обработки данных. Проблема заключается в том, что сзади с моими контроллерами я могу создавать данные json, но не данные geojson. До сих пор мы использовали файл geo.json, но до сих пор не установили связь между передней и задней панелями.
Как сделать связь между передней и задней частью?
Моя идея заключалась в следующем: каждый раз, когда мы вызываем метод create / update / delete, у меня за спиной я снова создаю файл geojson, используемый спереди, с помощью JsonObject, и записываем данные в файл geojson, который использует фронт. Но я думаю, что этот метод довольно грязный.
Как лучше всего общаться спереди и сзади?
Мои контроллеры такие:
@RequestMapping(value = "", method = RequestMethod.GET, produces = APPLICATION_JSON_CHARSET_UTF_8)
public List<Place> listAll() {
return placeService.findAllPlaces();
}
и в настоящее время он работает следующим образом (в специальном компоненте для отображения карты):
async ngOnInit() {
this.mypoints= await import('./data.geo.json');
}
Мой контент geojson должен выглядеть так, чтобы его можно было использовать в mapbox:
{
"type": "FeatureCollection",
"features": [
{"type":"Feature","properties": {
"Primary ID": "1",
"Title": "Blablabla",
[other properties no need to display]
}, "geometry": {
"type":"Point","coordinates":[40.827420, 5.779557]
}
},
{"type":"Feature","properties": {
"Primary ID": "2",
"Title": "Blablabla2",
[other properties no need to display]
}, "geometry": {
"type":"Point","coordinates":[45.827420, 2.779557]
}
}
]
}
и json, сгенерированный задней java, выглядит так:
[
{
"id": 1,
"title": "Blablabla",
[other properties no need to display],
"place": {
"id": 1,
"longitude": "5.779557",
"latitude": "40.827420"
}
},
{
"id": 2,
"title": "Blablabla2",
[other properties no need to display],
"place": {
"id": 2,
"longitude": "2.779557",
"latitude": "45.827420"
}
}
]
Заранее благодарим за вашу драгоценную помощь
С уважением