add to layerchooser instead of the toolbox + code cleanup

This commit is contained in:
boombuler
2013-02-23 17:06:21 +01:00
parent c36afe506e
commit 29749ebbe1

View File

@ -192,60 +192,57 @@ function wrapper() {
Array.prototype.push.apply(closed, open); Array.prototype.push.apply(closed, open);
i = closed.length; i = closed.length;
while(i--) while(i--) {
if(closed[i].a.__sentinel || closed[i].b.__sentinel || closed[i].c.__sentinel) if(closed[i].a.__sentinel || closed[i].b.__sentinel || closed[i].c.__sentinel)
closed.splice(i, 1); closed.splice(i, 1);
}
/* Yay, we're done! */ /* Yay, we're done! */
return closed; return closed;
} }
var layer = null; window.plugin.portalfolding.layer = null;
window.plugin.portalfolding.toggle = function() { var updating = false;
if (layer) { var fillLayer = function() {
// toggle off if (updating)
window.map.removeLayer(layer);
layer = null;
return; return;
} updating = true;
window.plugin.portalfolding.layer.clearLayers();
var locations = []; var locations = [];
var minX = 0; var minX = 0;
var minY = 0; var minY = 0;
for (var key in window.portals) { $.each(window.portals, function(guid, portal) {
var loc = window.portals[key].options.details.locationE6; var loc = portal.options.details.locationE6;
var nloc = { x: loc.lngE6, y: loc.latE6 }; var nloc = { x: loc.lngE6, y: loc.latE6 };
if (nloc.x < minX) if (nloc.x < minX)
minX = nloc.x; minX = nloc.x;
if (nloc.y < minX) if (nloc.y < minX)
minX = nloc.y; minX = nloc.y;
locations.push(nloc); locations.push(nloc);
} });
var i = locations.length; $.each(locations, function(idx, nloc) {
while(i) {
var nloc = locations[--i];
nloc.x += Math.abs(minX); nloc.x += Math.abs(minX);
nloc.y += Math.abs(minY); nloc.y += Math.abs(minY);
} });
layer = L.layerGroup([])
var triangles = triangulate(locations); var triangles = triangulate(locations);
i = triangles.length; $.each(triangles, function(idx, triangle) {
while(i) { triangle.draw(window.plugin.portalfolding.layer, minX, minY)
var triangle = triangles[--i]; });
triangle.draw(layer, minX, minY) updating = false;
}
window.map.addLayer(layer);
return layer;
} }
var setup = function() { var setup = function() {
$('#toolbox').append('<a onclick="window.plugin.portalfolding.toggle()">toggle MaxLinks</a> '); window.plugin.portalfolding.layer = L.layerGroup([]);
window.map.on('layeradd', function(e) {
if (e.layer === window.plugin.portalfolding.layer)
fillLayer();
});
window.layerChooser.addOverlay(window.plugin.portalfolding.layer, 'Maximum Links');
} }
// PLUGIN END ////////////////////////////////////////////////////////// // PLUGIN END //////////////////////////////////////////////////////////