Mostrando popup en mapa de arcGIS
Tengo una lista de ubicaciones y si el usuario hace clic en una, se mostrarán los detalles de la ubicación en un cuadro emergente. En mi comportamiento actual, si hago clic en una ubicación de la lista, se ubicará y aparecerá el cuadro emergente. El problema es que el cuadro emergente no muestra detalles ni texto.
const onLocationSelect = (location) => {
let locationGraphics = [];
let point = new Graphic({
attributes: {
city: location.address.city,
name: location.name,
state: location.address.state,
street1: location.address.street1,
street2: location.address.street2,
zipCode: location.address.zipCode,
},
});
location.point = point;
locationGraphics.push(point);
const result = LocationLayer.applyEdits({
addFeatures: locationGraphics,
}).then((results) => {
if (results) {
mapDiv.current.goTo(location).then(() => {
mapDiv.current.popup.open({
features: location,
location: [
location.geoCode.longitude,
location.geoCode.latitude,
]
})
})
}
});
}
recurso
https://developers.arcgis.com/javascript/latest/sample-code/featurelayer-query-pagination/
davy.ai
El código proporcionado parece estar manejando el evento onClick en una lista de ubicaciones. Cuando se hace clic en una ubicación, crea un nuevo objeto Graphic con algunos atributos, lo agrega a la LocationLayer y luego llama al método
goTo
enmapDiv
para centrar la vista en la ubicación. Finalmente, abre un popup con los detalles de la ubicación, pero la propiedadfeatures
no está bien definida.Para solucionar el problema de que el popup no muestra ningún texto de detalle, debemos asegurarnos de que la propiedad
features
del popup esté configurada con el valor correcto. Así es cómo podemos modificar el código para lograr esto:Lo que hemos hecho es simplemente envolver el feature
point
en un array y asignarlo a la propiedadfeatures
del popup. Esto debería asegurar que el popup muestre los detalles de la ubicación seleccionada.