Commit 2994d9bb757d536779dfc24ca15608ed22a5f1ed

Authored by Andrea Petta
1 parent 413bc541

plugin update

datalets/leafletjs-geojson-datalet/leafletjs-geojson-datalet.html
... ... @@ -72,12 +72,13 @@ Example:
72 72 *
73 73 * @method transformData
74 74 */
75   - presentData: function(){
  75 + presentData: function() {
76 76  
77 77 var t = this;
78   - try{
79   - this._component.map = L.map(this._component.$.leafletjs).setView([0, 0], 13, {reset:true});
80   - }catch(e){}
  78 + try {
  79 + this._component.map = L.map(this._component.$.leafletjs).setView([0, 0], 13, {reset: true});
  80 + } catch (e) {
  81 + }
81 82  
82 83  
83 84 L.tileLayer('http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
... ... @@ -88,11 +89,34 @@ Example:
88 89  
89 90 L.Icon.Default.imagePath = 'http://services.routetopa.eu/DEEalerProvider/COMPONENTS/datalets/leafletjs-datalet/leafletsjs/images';
90 91  
91   - var geoJsonLayer = L.geoJson(t.data[0].data).addTo(t._component.map);
  92 + var bounding_box = L.geoJson(t.data[0].data);
  93 +
  94 + for (var i = 0; i < t.data[0].data.length; i++)
  95 + {
  96 + var geoJsonLayer = L.geoJson(t.data[0].data[i]).addTo(t._component.map);
  97 +
  98 + if(t.data.length > 1)
  99 + {
  100 + var popupText = "";
  101 + for(var j=1; j<t.data.length; j++)
  102 + {
  103 + if(typeof t.data[j] != 'undefined' && typeof t.data[j].data[i] != 'undefined')
  104 + {
  105 + if (t.data[j].data[i].toString().match(new RegExp("^(http[s]?:\\/\\/(www\\.)?|ftp:\\/\\/(www\\.)?|www\\.){1}([0-9A-Za-z-\\.@:%_\+~#=]+)+((\\.[a-zA-Z]{2,3})+)(/(.)*)?(\\?(.)*)?")))
  106 + popupText += '<image height="100" width="100" src="' + t.data[j].data[i] + '" /><br/>';
  107 + else
  108 + popupText += '<span>' + t.data[j].name + ' : ' + t.data[j].data[i] + '</span><br/>'
  109 + }
  110 + }
  111 +
  112 + var popup = L.popup().setContent(popupText);
  113 + geoJsonLayer.bindPopup(popup);
  114 + }
  115 + }
92 116  
93 117 t._component.map._onResize();
94 118 t._component.map.invalidateSize(false);
95   - t._component.map.fitBounds(geoJsonLayer);
  119 + t._component.map.fitBounds(bounding_box);
96 120  
97 121 }
98 122 };
... ... @@ -103,10 +127,6 @@ Example:
103 127 is : 'leafletjs-geojson-datalet',
104 128  
105 129 properties : {
106   - data: {
107   - type: Array,
108   - value: undefined
109   - },
110 130 /**
111 131 * Store a reference to the leafletjs map object created in 'ready' callback
112 132 * @attribute map
... ...