Mapbox + передний угловой 6 + задний java - PullRequest
0 голосов
/ 08 сентября 2018

У нас есть проект, в котором мы используем 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"
             }
        }
    ]

Заранее благодарим за вашу драгоценную помощь

С уважением

...