//add feature key words to geocode widget search box dojo.connect(geocoderWidget, "onAutoComplete", function (e) { if (geocoderWidget.value.length < 4) { return; } array.forEach(layerList, function (layer) { if (layer.declaredClass === "esri.layers.FeatureLayer" && layer.visible === true) { var keyWordField = layer.displayField; var searchedFeatures = array.filter(layer.graphics, function (feature) { return feature.attributes[keyWordField] ? feature.attributes[keyWordField].toLowerCase().indexOf(geocoderWidget.value.toLowerCase()) > -1 : false; }); var result; array.forEach(searchedFeatures, function (feature) { result = { feature: feature, extent: new Extent(feature.geometry.x - 1000, feature.geometry.y - 1000, feature.geometry.x + 1000, feature.geometry.y + 1000, feature.geometry.spatialReference), name: feature.attributes[keyWordField] }; e.results.splice(0, 0, result); }); } }); if (e.results.length > 6) { e.results.splice(6, e.results.length - 6); } }); dojo.connect(geocoderWidget, "onSelect", function (e) { var query = new Query(); var fl = e.feature.getLayer(); if (!fl) { return; } query.where = fl.displayField + "='" + e.name + "'"; fl.queryFeatures(query, function (result) { var feature = result.features[0]; //now you have the selected feature }); });
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.