【问题标题】:Is there a way to disable highlighting the boundaries when click a graphic object on the feature layer?单击要素图层上的图形对象时,有没有办法禁用突出显示边界?
【发布时间】:2015-07-29 20:54:43
【问题描述】:

我有一个要素图层,它单击一个图形对象,弹出一个信息窗口,其中包含具有相同“池塘”名称的其他图形对象的数据,最新的 arcgis for javascript 版本添加了一个突出显示的功能单击的图形对象的边界,这是我不想要的,因为弹出窗口包含具有相同属性(池塘名称)的所有图形对象的摘要。只高亮被点击的对象会造成混乱。

有没有办法禁用被点击对象的高亮边界?

【问题讨论】:

    标签: javascript arcgis arcgis-js-api


    【解决方案1】:

    感谢您的回答。这很有帮助。就我而言,我不得不使用SimpleMarkerSymbol()SimpleLineSymbol(),因为我需要关闭点和线特征的高光。如果其他人需要,这是我的解决方案:

    require(["esri/symbols/SimpleMarkerSymbol", "esri/symbols/SimpleLineSymbol",], function(SimpleMarkerSymbol, SimpleLineSymbol))
    {
      map.infoWindow.markerSymbol = new SimpleMarkerSymbol().setSize("0");
      map.infoWindow.lineSymbol = new SimpleLineSymbol().setWidth(0);
    }
    

    【讨论】:

      【解决方案2】:

      没有任何代码很难说,但是在你实例化你的 Map 对象之后试试这个:

      map.infoWindow.fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_NULL);
      

      这会覆盖单击功能时使用的突出显示符号。

      这是一个完整的例子:

      <!DOCTYPE html>
      <html>
          <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>Disable Highlighting</title>
              <link rel="stylesheet" href="http://js.arcgis.com/3.14/esri/css/esri.css">
              <style>
                  html, body, #map {
                      height: 100%;
                      width: 100%;
                      margin: 0;
                      padding: 0;
                  }
                  body {
                      background-color: #FFF;
                      overflow: hidden;
                      font-family: "Trebuchet MS";
                  }
              </style>
              <script src="http://js.arcgis.com/3.14/"></script>
              <script>
                  var map;
                  var featureLayer;
      
                  require(["esri/map", "esri/layers/FeatureLayer", "esri/InfoTemplate",
                          "esri/symbols/SimpleFillSymbol", "esri/symbols/SimpleLineSymbol", "esri/Color",
                          "dojo/domReady!"],
                  function(Map, FeatureLayer, InfoTemplate,
                          SimpleFillSymbol, SimpleLineSymbol, Color) {
                      map = new Map("map", {
                          basemap: "topo",
                          center: [-122.45, 37.75],
                          zoom: 4
                      });
      
                      featureLayer = new FeatureLayer("http://services.arcgis.com/P3ePLMYs2RVChkJx/ArcGIS/rest/services/CDC_Weekly_Flu_Surveillance_Map/FeatureServer/0", {
                          infoTemplate: new InfoTemplate()
                      });
                      //The following line overrides the highlight symbol used when a feature is clicked.
                      map.infoWindow.fillSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_NULL);
                      map.addLayer(featureLayer);
                  });
              </script>
          </head>
      
          <body>
              <div id="map"></div>
          </body>
      </html>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-30
        • 2014-11-12
        • 2013-01-06
        • 1970-01-01
        • 2022-08-24
        • 2022-08-20
        • 2021-10-21
        • 2011-06-11
        相关资源
        最近更新 更多