esri / dijit /搜索javascript版本3.13不同来源不创建建议

时间:2015-04-27 11:07:04

标签: javascript arcgis arcmap arcgis-js-api

我正在尝试使用我自己的一个图层重现ArcGIS API for 3.13版本中新增的esri / dijit / Search教程。

Esri Sample

  <!DOCTYPE html>
<html><link rel="stylesheet" href="http://js.arcgis.com/3.13/esri/css/esri.css">
    <head>
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
       <meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no" />
       <title>ArcGIS API for JavaScript | Search widget with multiple sources</title>
       <link rel="stylesheet" href="http://js.arcgis.com/3.13/dijit/themes/claro/claro.css">
       <link rel="stylesheet" href="http://js.arcgis.com/3.13/esri/css/esri.css">
       <style>
          html,
          body,
          #map {
             height: 100%;
             width: 100%;
             margin: 0;
             padding: 0;
          }
          #search {
             display: block;
             position: absolute;
             z-index: 2;
             top: 20px;
             left: 74px;
          }
       </style>


    <script src="http://js.arcgis.com/3.13/"></script>
       <script>
          require([
            "esri/map", "esri/dijit/Search", "esri/layers/FeatureLayer", "esri/InfoTemplate", "esri/SpatialReference", "esri/geometry/Extent", "dojo/domReady!"
          ], function (Map, Search, FeatureLayer, InfoTemplate, SpatialReference, Extent) {
             var map = new Map("map", {
                basemap: "gray",
                center: [-97, 38], // lon, lat
                zoom: 5
             });

             var s = new Search({
                enableButtonMode: true, //this enables the search widget to display as a single button
                enableLabel: false,
                enableInfoWindow: true,
                showInfoWindowOnSelect: false,
                map: map
             }, "search");

             var sources = [];

             sources.push({
                featureLayer: new FeatureLayer("http://maps.eastriding.gov.uk/arcgis/rest/services/GISIntranet/MapServer/0"),
                searchFields: ["ADDRESS_WITHOUT_BREAKS"],
                displayField: "ADDRESS_WITHOUT_BREAKS",
                exactMatch: false,
                name: "ADDRESS_WITHOUT_BREAKS",
                outFields: ["*"],
                placeholder: "ADDRESS_WITHOUT_BREAKS",
                maxResults: 6,
                maxSuggestions: 6,

                enableSuggestions: true,
                minCharacters: 0
             });

             //Set the sources above to the search widget
             s.set("sources", sources);

             s.startup();

          });
       </script>
    </head>

    <body>
       <div id="search"></div>
       <div id="map"></div>
    </body>

    </html>

我有建议部分,如果它。如果我使用默认的来源,它会很好。我将在文本框中输入前几个字符,它将产生一些我可以选择的建议。当我使用自己的源(如上所述)时,没有出现任何建议。我检查错误,没有。我还在我的开发工具中检查了网络,并且建议部分没有像默认源那样触发查询。

我想知道我是否需要在我的图层上进行特殊设置,或者它是否正常工作

谢谢

1 个答案:

答案 0 :(得分:3)

来自API文档

  

仅当使用具有建议功能的10.3地理编码服务或支持分页的10.3要素图层(即supportsPagination = true)时,才能使用建议。

查看您的服务器,您运行的是10.2.2,因此您需要移至10.3,并确保为您的服务分页以获得此功能。