0

Add tset config to leaflet layer, refactor marker

Instead of stuffing specialised values into overviewer.collections,
put a reference to the overviewerConfig tileset entry into the leaflet
layer, so that we can access it from callbacks easily.
This commit is contained in:
Nicolas F
2016-07-11 21:41:55 +02:00
committed by Andrew Chin
parent cfa2a9f39b
commit 2cfa3e8731
2 changed files with 19 additions and 18 deletions

View File

@@ -109,14 +109,23 @@ overviewer.util = {
overviewer.map.on('baselayerchange', function(ev) {
overviewer.current_layer[overviewer.current_world] = ev.name;
var ovconf = ev.layer.tileSetConfig;
// Remove old spawn marker, add new one
if (overviewer.collections.spawnMarker) {
overviewer.collections.spawnMarker.remove();
}
if (overviewer.collections.spawnMarkers[overviewer.current_world]) {
overviewer.collections.spawnMarker = overviewer.collections
.spawnMarkers[overviewer.current_world];
if (typeof(ovconf.spawn) == "object") {
/// TODO: Retina Icon
var spawnIcon = L.icon({
iconUrl: overviewerConfig.CONST.image.spawnMarker,
});
var latlng = overviewer.util.fromWorldToLatLng(ovconf.spawn[0],
ovconf.spawn[1],
ovconf.spawn[2],
ovconf);
var ohaimark = L.marker(latlng, {icon: spawnIcon, title: "Spawn"});
overviewer.collections.spawnMarker = ohaimark
overviewer.collections.spawnMarker.addTo(overviewer.map);
} else {
overviewer.collections.spawnMarker = null;
@@ -160,17 +169,12 @@ overviewer.util = {
overviewer.collections.mapTypes[obj.world][obj.name] = myLayer;
}
myLayer["tileSetConfig"] = obj;
if (typeof(obj.spawn) == "object") {
var latlng = overviewer.util.fromWorldToLatLng(obj.spawn[0], obj.spawn[1], obj.spawn[2], obj);
overviewer.collections.centers[obj.world] = [ latlng, 1 ];
/// TODO: Retina Icon
var spawnIcon = L.icon({
iconUrl: overviewerConfig.CONST.image.spawnMarker,
});
var ohaimark = L.marker(latlng, {icon: spawnIcon, title: "Spawn"});
overviewer.collections.spawnMarkers[obj.world] = ohaimark;
} else {
overviewer.collections.centers[obj.world] = [ [0, 0], 1 ];
}