MapPanelController.kt
1.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package application.controller
import application.model.MessageListener
import application.model.Vessel
import application.model.observableMessages
import javafx.concurrent.Worker
import javafx.fxml.FXML
import javafx.fxml.Initializable
import javafx.scene.layout.StackPane
import map.LeafletMapView
import map.MapConfig
import map.displayMessageOnMap
import java.net.URL
import java.util.*
import java.util.concurrent.CompletableFuture
class MapPanelController : Initializable, MessageListener {
@FXML
private lateinit var map: StackPane
private val mapView = LeafletMapView()
override fun initialize(location: URL?, resources: ResourceBundle?) {
val completeFutureMap: CompletableFuture<Worker.State> = mapView.displayMap(MapConfig())
observableMessages.listeners.add(this)
/*completeFutureMap.whenComplete{
workerState, _ ->
if (workerState == Worker.State.SUCCEEDED) {
}
}*/
map.children.add(mapView)
}
override fun onValueChanged(newValue: MutableMap<Int?, Vessel>) {
displayMessageOnMap(mapView)
}
}