From 8186a0b3ee90c7a6006b3390c9346ae9de7e3b3b Mon Sep 17 00:00:00 2001 From: David Molineus Date: Thu, 15 Jan 2015 00:53:19 +0100 Subject: [PATCH] Fix omnivore loading control integration --- assets/maps/contao-leaflet.js | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/assets/maps/contao-leaflet.js b/assets/maps/contao-leaflet.js index eeae03b..61a3bfc 100644 --- a/assets/maps/contao-leaflet.js +++ b/assets/maps/contao-leaflet.js @@ -115,24 +115,22 @@ L.Contao = L.Class.extend({ * @param map Pass a map object so that the data loading events are passed to the map. */ loadLayer: function(url, type, options, customLayer, map) { - if (map) { - map.fire('dataloading'); - } - var layer = omnivore[type](url, options, customLayer); - layer.on('ready', function(e) { - if (map) { - map.fire('dataload'); - } - }); + // Required because Control.Loading tries to get _leafet_id which is created here. + L.stamp(layer); - layer.on('error', function(e) { - if (map) { - map.fire('dataload'); - } + if (map) { + map.fire('dataloading', { layer: layer }); - }); + layer.on('ready', function() { + map.fire('dataload', { layer: layer }); + }); + + layer.on('error', function() { + map.fire('dataload', { layer: layer }); + }); + } return layer; },