UNPKG

esri-leaflet

Version:

Leaflet plugins for consuming ArcGIS Online and ArcGIS Server services.

289 lines (255 loc) 13.9 kB
<!DOCTYPE html> <!--[if lt IE 7 ]> <html class="ie6"> <![endif]--> <!--[if IE 7 ]> <html class="ie7"> <![endif]--> <!--[if IE 8 ]> <html class="ie8"> <![endif]--> <!--[if IE 9 ]> <html class="ie9"> <![endif]--> <!--[if (gt IE 9)|!(IE)]><!--> <html class="not-ie"> <!--<![endif]--> <head> <meta charset="utf-8"> <title>L.esri.Tasks.Find | Esri Leaflet</title> <meta name="description" content="Esri Leaflet"> <meta name="viewport" content="width=device-width"> <!--[if lt IE 9]> <script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv-printshiv.js"></script> <![endif]--> <!-- google fonts --> <link href='//fonts.googleapis.com/css?family=Vollkorn:400italic,700italic,400,700' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="//brick.a.ssl.fastly.net/Source+Code+Pro:300"> <link href='//fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic' rel='stylesheet' type='text/css'> <!-- stylesheet --> <link rel="stylesheet" href="../../css/style.css"> <!-- leaflet --> <link rel="stylesheet" href="//cdn.jsdelivr.net/leaflet/0.7.7/leaflet.css" /> <!-- require combined leaflet, esri leaflet and jsdelivr-rum --> <script src="//cdn.jsdelivr.net/leaflet/0.7.7/leaflet.js"></script> <!--script src="//cdn.jsdelivr.net/leaflet.esri/1.0.3/esri-leaflet.js"></script--> <script src="../../js/esri-leaflet-src.js"></script> <script src="//cdn.jsdelivr.net/jsdelivr-rum/latest/jsdelivr-rum.min.js"></script> <!-- 'livereload' for development --> <script src="//localhost:35729/livereload.js"></script> <!-- Google Analytics --> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-44963317-3', 'auto'); ga('send', 'pageview'); </script> <!-- End Google Analytics --> </head> <body> <div class="page-content "> <div class="container"> <a class="site-nav" href="../../" class="left logo">Esri Leaflet</a> <nav class="right"> <a class="site-nav" href="../../examples/">Examples</a> <a class="site-nav" href="../../api-reference/">API Reference</a> <a class="site-nav" href="../../download/">Download</a> <a class="site-nav" href="https://github.com/Esri/esri-leaflet">View on GitHub</a> </nav> </div> <div id="background-map" class="background-map"></div> <div class="container white"> <aside class="sidebar"> <h5>L.esri.Layers</h5> <nav> <a href="../../api-reference/layers/basemap-layer.html">BasemapLayer</a> <a href="../../api-reference/layers/feature-layer.html">FeatureLayer</a> <a href="../../api-reference/layers/tiled-map-layer.html">TiledMapLayer</a> <a href="../../api-reference/layers/dynamic-map-layer.html">DynamicMapLayer</a> <a href="../../api-reference/layers/image-map-layer.html">ImageMapLayer</a> <a href="../../api-reference/layers/clustered-feature-layer.html">ClusteredFeatureLayer</a> <a href="../../api-reference/layers/heatmap-feature-layer.html">HeatmapFeatureLayer</a> </nav> <h5>L.esri.Tasks</h5> <nav> <a href="../../api-reference/tasks/query.html">Query</a> <a href="../../api-reference/tasks/find.html">Find</a> <a href="../../api-reference/tasks/identify-features.html">Identify Features</a> <a href="../../api-reference/tasks/identify-image.html">Identify Image</a> <a href="../../api-reference/tasks/task.html">Task</a> </nav> <h5>Misc.</h5> <nav> <a href="../../api-reference/request.html">Request</a> <a href="../../api-reference/util.html">Util</a> <a href="../../api-reference/events.html">Events</a> </nav> <h5>Base Classes</h5> <nav> <a href="../../api-reference/services/image-service.html">ImageService</a> <a href="../../api-reference/services/feature-layer.html">FeatureLayerService</a> <a href="../../api-reference/services/map-service.html">MapService</a> <a href="../../api-reference/services/service.html">Service</a> </nav> </aside> <div class="main-content"> <h1 id="l-esri-tasks-find">L.esri.Tasks.Find</h1> <p><code>L.esri.Tasks.Find</code> is an abstraction for the find API included in Map Services. It provides a chainable API for building request parameters and executing find tasks.</p> <h3 id="constructor">Constructor</h3> <table> <thead> <tr> <th>Constructor</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td> <code>L.esri.Tasks.find(<nobr class="param"><span>&lt;<a href="../../api-reference/services/service.html">MapService</a>&gt;</span> <code>endpoint</code></nobr>)</code><br><br> <code>L.esri.Tasks.find(<nobr class="param"><span>&lt;Object&gt;</span> <code>options</code></nobr>)</code> </td> <td>Accepts either an <code>options</code> object or an instance of <a href="../..//api-reference/services/map-service.html">MapService</a>.</td> </tr> </tbody> </table> <h3 id="options">Options</h3> <table> <thead> <tr> <th>Option</th> <th>Type</th> <th>Default</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>url</code></td> <td><code>String</code></td> <td><code>&#39;&#39;</code></td> <td>URL of the ArcGIS service you would like to consume.</td> </tr> <tr> <td><code>proxy</code></td> <td><code>String</code></td> <td><code>false</code></td> <td>URL of an <a href="https://developers.arcgis.com/javascript/jshelp/ags_proxy.html">ArcGIS API for JavaScript proxy</a> or <a href="https://github.com/Esri/resource-proxy">ArcGIS Resource Proxy</a> to use for proxying POST requests.</td> </tr> <tr> <td><code>useCors</code></td> <td><code>Boolean</code></td> <td><code>true</code></td> <td>If this service should use CORS when making GET requests.</td> </tr> </tbody> </table> <h3 id="methods">Methods</h3> <table> <thead> <tr> <th>Method</th> <th>Returns</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>text(<nobr class="param"><span>&lt;String&gt;</span> <code>text</code></nobr>)</code></td> <td><code>this</code></td> <td>Text that is searched across the layers and fields the user specifies.</td> </tr> <tr> <td><code>contains(<nobr class="param"><span>&lt;Boolean&gt;</span> <code>contains</code></nobr>)</code></td> <td><code>this</code></td> <td>When <code>true</code> find task will search for a value that contains the <code>searchText</code>. When <code>false</code> it will do an exact match on the <code>searchText</code> string. Default is <code>true</code>.</td> </tr> <tr> <td><code>fields(<nobr class="param"><span>&lt;Array&gt;</span> <code>fields</code></nobr> or <nobr class="param"><span>&lt;String&gt;</span> <code>fields</code></nobr>)</code></td> <td><code>this</code></td> <td>An array or comma-separated list of field names to search. If not specified, all fields are searched.</td> </tr> <tr> <td><code>spatialReference(<nobr class="param"><span>&lt;Integer&gt;</span> <code>sr</code></nobr>)</code></td> <td><code>this</code></td> <td>The well known ID (ex. 4326) for the results.</td> </tr> <tr> <td><code>layerDef(<nobr class="param"><span>&lt;Integer&gt;</span> <code>id</code></nobr>, <nobr class="param"><span>&lt;String&gt;</span> <code>where</code></nobr>)</code></td> <td><code>this</code></td> <td>Add a layer definition to the find task.</td> </tr> <tr> <td><code>layers(<nobr class="param"><span>&lt;Array&gt;</span> <code>layers</code></nobr> or <nobr class="param"><span>&lt;String&gt;</span> <code>layers</code></nobr>)</code></td> <td><code>this</code></td> <td>Layers to perform find task on. Accepts an array of layer IDs or comma-separated list.</td> </tr> <tr> <td><code>returnGeometry(<nobr class="param"><span>&lt;Boolean&gt;</span> <code>returnGeometry</code></nobr>)</code></td> <td><code>this</code></td> <td>Return geometry with results. Default is <code>true</code>.</td> </tr> <tr> <td><code>maxAllowableOffset(<nobr class="param"><span>&lt;Integer&gt;</span> <code>maxAllowableOffset</code></nobr>)</code></td> <td><code>this</code></td> <td>Specifies the maximum allowable offset to be used for generalizing geometries returned by the <code>find</code> task.</td> </tr> <tr> <td><code>precision(<nobr class="param"><span>&lt;Integer&gt;</span> <code>precision</code></nobr>)</code></td> <td><code>this</code></td> <td>Specifies the number of decimal places in returned geometries.</td> </tr> <tr> <td><code>returnZ(<nobr class="param"><span>&lt;Boolean&gt;</span> <code>returnZ</code></nobr>)</code></td> <td><code>this</code></td> <td>Include Z values in the results. Default value is <code>true</code>. This parameter only applies if <code>returnGeometry=true</code>.</td> </tr> <tr> <td><code>returnM(<nobr class="param"><span>&lt;Boolean&gt;</span> <code>returnM</code></nobr>)</code></td> <td><code>this</code></td> <td>Includes M values if the features have them. Default value is <code>false</code>. This parameter only applies if <code>returnGeometry=true</code>.</td> </tr> <tr> <td><code>dynamicLayers(<nobr class="param"><span>&lt;Object&gt;</span> <code>dynamicLayers</code></nobr>)</code></td> <td><code>this</code></td> <td>Property used for adding new layers or modifying the data source of existing ones in the current map service.</td> </tr> <tr> <td><code>simplify(<nobr class="param"><span>&lt;<a href="http://leafletjs.com/reference.html#map">Map</a>&gt;</span> <code>map</code></nobr>, <nobr class="param"><span>&lt;Integer&gt;</span> <code>factor</code></nobr>)</code></td> <td><code>this</code></td> <td>Simplify the geometries of the output features for the current map view. the <code>factor</code> parameter controls the amount of simplification between 0 (no simplification) and 1 (simplify to the most basic shape possible).</td> </tr> <tr> <td><code>token(<nobr class="param"><span>&lt;String&gt;</span> <code>token</code></nobr>)</code></td> <td><code>this</code></td> <td>Adds a token to this request if the service requires authentication. Will be added automatically if used with a service.</td> </tr> <tr> <td><code>run(<nobr class="param"><span>&lt;Function&gt;</span> <code>callback</code></nobr>, <nobr class="param"><span>&lt;Object&gt;</span> <code>context</code></nobr>)</code></td> <td><code>this</code></td> <td>Exectues the find request with the current parameters, features will be passed to <code>callback</code> as a <a href="http://geojson.org/geojson-spec.html#feature-collection-objects">GeoJSON FeatureCollection</a>. Accepts an optional function context.</td> </tr> </tbody> </table> <h3 id="example">Example</h3> <h5 id="finding-features">Finding features</h5> <pre><code class="language-js"><span class="keyword">var</span> find = L.esri.Tasks.find(<span class="string">'http://services.nationalmap.gov/arcgis/rest/services/govunits/MapServer'</span>); find.layers(<span class="string">'18'</span>) .text(<span class="string">'Colorado'</span>); find.run(<span class="function"><span class="keyword">function</span><span class="params">(error, featureCollection, response)</span>{</span> console.log(<span class="string">'GNIS Name: '</span> + featureCollection.features[<span class="number">0</span>].properties.GNIS_NAME); });</code></pre> <h5 id="finding-features-by-specified-search-field-name">Finding features by specified search field name</h5> <pre><code class="language-js"><span class="keyword">var</span> find = L.esri.Tasks.find({ url: <span class="string">'http://services.nationalmap.gov/arcgis/rest/services/govunits/MapServer'</span> }); find.layers(<span class="string">'13'</span>) .text(<span class="string">'198133'</span>) .fields(<span class="string">'GNIS_ID'</span>); find.run(<span class="function"><span class="keyword">function</span><span class="params">(error, featureCollection, response)</span>{</span> console.log(<span class="string">'Found '</span> + featureCollection.features.length + <span class="string">' feature(s)'</span>); console.log(<span class="string">'Found '</span> + featureCollection.features[<span class="number">0</span>].properties.GNIS_NAME + <span class="string">' in '</span> + featureCollection.features[<span class="number">0</span>].properties.STATE_NAME); });</code></pre> <p><a href="http://github.com/esri/esri-leaflet/edit/master/site/source/pages/api-reference/tasks/find.md">Edit this page on GitHub</a></p> </div> <div style='clear:both;'></div> </div> <div class="container centered-text"> <p class="copyright">Esri Leaflet is a project from the <a href="http://pdx.esri.com">Esri PDX R&amp;D Center</a> and the <a href="https://github.com/Esri/esri-leaflet/graphs/contributors">Esri Community</a></p> </div> </div> <script src="../../js/script.js"></script> </body> </html>