Ionic2 问题:更新infowindow Carto
我在Carto地图中的一个子层的信息窗口有问题。首先,我将显示我的代码。我创建图层选项,然后得到我的子图层。我设置了它的选项和infowindow的第一个版本。之后,我创建了事件onclick,它根据我之前声明的变量更改了infowindowIonic2 问题:更新infowindow Carto,ionic2,infowindow,cartodb,Ionic2,Infowindow,Cartodb,我在Carto地图中的一个子层的信息窗口有问题。首先,我将显示我的代码。我创建图层选项,然后得到我的子图层。我设置了它的选项和infowindow的第一个版本。之后,我创建了事件onclick,它根据我之前声明的变量更改了infowindow var subLayerOptions2 = { sql: "SELECT * FROM zonas WHERE cartodb_id IN (SELECT zonaid FROM devices_zonas WHERE devicei
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没有很好地更新,变量为空,但当我第二次单击时,它显示得很好。如果我更改单击的元素,则第一次显示的信息与上次单击对应,而不是此信息。这就像是拖延。它总是显示上一个的信息
有人知道为什么会这样吗?我已经在GIS SE中回答了同样的问题:是的!在这个环节就是解决方案!