CircleMarkerGenerator.kt
1.21 KB
package map
import application.model.observableVessel
fun clearMapCanvas(map: LeafletMapView) {
map.execScript("""
|myRenderer.removeFrom(myMap)
|var myRenderer = L.canvas({ padding: 0.5 });
""".trimMargin())
}
fun displayMessageOnMap(map: LeafletMapView) {
clearMapCanvas(map)
observableVessel.vessels.forEach { (_, value) ->
value.messages.forEach { (_, message) ->
map.execScript("L.circleMarker([${message.latitude}, ${message.longitude}], {renderer: myRenderer, radius: 0.01, color: '#${message.getHexColor()}'}).addTo(myMap)")
}
}
}
fun displayMessageOnMap(map: LeafletMapView, selectedMMSI: Int) {
clearMapCanvas(map)
observableVessel.vessels.forEach { (_, value) ->
value.messages.forEach { (_, message) ->
if(selectedMMSI == message.mmsi){
map.execScript("L.circleMarker([${message.latitude}, ${message.longitude}], {renderer: myRenderer, radius: 4, color: '#ff001e'}).addTo(myMap)")
}else{
map.execScript("L.circleMarker([${message.latitude}, ${message.longitude}], {renderer: myRenderer, radius: 0.01, color: '#${message.getHexColor()}'}).addTo(myMap)")
}
}
}
}