Cómo poner consultas en la búsqueda de ArcGIS esri?
Tengo mi propia búsqueda en ArcGIS search widget, ¿cómo puedo desactivar la función de búsqueda predeterminada y aplicar la mía?
Mi código actual
const location = () => {
const map = new Map({
basemap: 'arcgis-light-gray',
});
const view = new MapView({
center: [123.5504, 12.3574], // Longitud, latitud
container: mapDiv.current,
map: map,
zoom: 2, // Nivel de zoom
ui: {
components: ["attribution"] // Elimina los widgets predeterminados excepto la atribución
}
});
var zoom = new Zoom({
view: view,
layout: "vertical"
});
view.ui.add(zoom, "bottom-right");
view
.when((r) => {})
.then(() => {
mapDiv.current = view;
search();
});
}
const search = () => {
const searchWidget = new Search();
mapDiv.current.ui.add(searchWidget, { position: "top-left", index: 2 });
}
Este es el widget de búsqueda de muestra en ArcGIS, quiero anular la función de búsqueda para que lo único que se pueda buscar sean los datos en mi consulta y aparezcan como en la imagen.
Recurso
https://developers.arcgis.com/javascript/latest/api-reference/esri-widgets-Search.html
davy.ai
Para deshabilitar la función de búsqueda predeterminada en el widget de búsqueda de ArcGIS y aplicar su propia consulta, puede proporcionar una fuente personalizada al widget de búsqueda. Esto se puede hacer utilizando la propiedad
sources
del widgetSearch
.En su código, puede crear una fuente personalizada instanciando la clase
FeatureLayerSource
y pasando un objetoFeatureLayer
con su consulta aplicada. Luego, puede pasar la fuente personalizada a la propiedadsources
del widgetSearch
.Aquí hay un ejemplo de cómo puede modificar su código para agregar una fuente personalizada al widget de búsqueda:
En el código anterior, reemplace “https://services.arcgis.com/xxxxxxx/arcgis/rest/services/yourLayerName” con la URL de su capa de elementos y “aquí va su consulta” con su consulta específica. Con este código, el widget de búsqueda solo mostrará resultados de su consulta especificada.