问题更新infowindow Carto

时间:2017-06-09 21:37:41

标签: ionic2 infowindow cartodb

我在Carto地图中显示了某个子图层的信息。首先,我将展示我的代码。我创建了图层选项,然后我得到了我的子图层。我设置了它的选项和infowindow的第一个版本。之后,我创建了事件onclick,根据我之前声明的变量更改了infowindow。

var subLayerOptions2 = {
          sql: "SELECT * FROM zonas WHERE cartodb_id IN (SELECT zonaid FROM devices_zonas WHERE deviceid IN (SELECT deviceid FROM users_devices WHERE userid=" + this.auth.getUserId() + "))",
          cartocss: "#layer {polygon-fill: " + ConstantesColores.colores[3] + "; polygon-opacity: 0.25; line-color: " + ConstantesColores.colores[3] + "; line-width: 1; line-opacity: 1;}",
          interactivity: ['cartodb_id']
}

// Creacion e introduccion del layer en el mapa
var sublayer2 = layer.getSubLayer(2);
sublayer2.set(subLayerOptions2);
sublayer2.infowindow.set('template', infow);
sublayer2.on('featureClick', (e, latlng, pos, data, layer) => {
              sublayer2.infowindow.set('template', infow.replace("#DispAsociados#", arrayZonasConDisp[data.cartodb_id].info));
              alert("Hey! You clicked " + data.cartodb_id);
});
sublayers.push(sublayer2);

问题在于,第一次点击地图的一个元素时,infowindow没有很好地更新,变量是空的,但是当我第二次点击时它看起来很好。如果我更改了我单击的元素,则第一次出现与最后一次点击相对应的信息,而不是此信息。这就像一个延迟。它总是显示前一个的信息。

有谁知道为什么会这样?

0 个答案:

没有答案