Raruto / leaflet-kmz

A KMZ file loader for Leaflet Maps
GNU General Public License v3.0
48 stars 27 forks source link

Change .kmz file name in tile #17

Closed grauzti closed 4 years ago

grauzti commented 4 years ago

Hello. Firstly thanks , plugin is great. May be easy question, but I did not find answer. Is it possible to change Layer names which shows in tile menu. In example : capitals.kmz -> Capitals globe.kmz -> Globe

Raruto commented 4 years ago

Hi grauzti, this functionality is part of the core L.Control.Layers (see documentation for more info).

Here is a small example of how your code might work:

kmz.on('load', function(e) {
  var name = e.name.replace(/.kmz|.kml/i, '');
  name     = name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
  control.addOverlay(e.layer, name);
});

Have a nice day, Raruto

grauzti commented 4 years ago

Sorry for disturbing again, I do something wrong I think. When I add code to Script it does not load map. I tried many ways to add code, inside in function, but same. Last code which I tried was this.

kmz.on('load', function(e) {
  var name = e.name.replace(/.kmz|.kml/i, '');
  name     = name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
  control.addOverlay(e.layer, name);
});

var kmzParser = new L.KMZParser({
  onKMZLoaded: function(layer, name) {
    control.addOverlay(layer, name);
    layer.addTo(map);
  }
});
kmzParser.load('kmz/vēsture.kmz');
kmzParser.load('kmz/jaunumi.kmz');

var control = L.control.layers(null, e.name, { collapsed:false }).addTo(map);
Raruto commented 4 years ago

With the latest version (1.0.6), It should be something like this:

var map = L.map('map');
var kmz = L.kmzLayer().addTo(map);
var control = L.control.layers(null, null, { collapsed:false }).addTo(map);

kmz.on('load', function(e) {
  var name = e.name.replace(/.kmz|.kml/i, '');
  name     = name.charAt(0).toUpperCase() + name.slice(1).toLowerCase();
  control.addOverlay(e.layer, name);
});

kmz.load('kmz/vēsture.kmz');
kmz.load('kmz/jaunumi.kmz');

Have a nice day, Raruto

grauzti commented 4 years ago

It works. Thank You. And warm greetings from Latvia :)