Closed grauzti closed 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
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);
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
It works. Thank You. And warm greetings from Latvia :)
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