我正在尝试导入多个kml文件并设置其样式。那是我现在的代码:

  var comuni = new Array();
  for (var i = nearby.comuni.length - 1; i >= 0; i--) {
    var c = nearby.comuni[i].colore;
    comune = omnivore.kml(nearby.comuni[i].kml);
    comune.setStyle({color: c});
    comuni.push(comune);
  };
  var comuniLayer = L.layerGroup(comuni);

所有变量均已正确实例化,kmls已转换并成功添加到 map ,但是填充和描边颜色始终为默认蓝色。 “c”变量包含十六进制颜色代码。我想念什么?

最佳答案

我在github上得到了https://github.com/tmcw的帮助

setStyle代码必须像这样被同步地调用:

comune.on('ready', function() {
        this.setStyle({color: "#FF0000"});
    });

小提琴上的完整示例:http://jsfiddle.net/oxdnpzcr/3/

10-04 22:31