有没有办法在单击要素图层上的图形对象时禁用突出显示边界?

时间:2015-07-29 20:54:44

标签: javascript arcgis arcgis-js-api

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

有没有办法禁用所点击对象的高光边界?

2 个答案:

答案 0 :(得分:2)

感谢您的回答。这很有帮助。就我而言,我必须使用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);
}

答案 1 :(得分:1)

没有任何代码很难说,但在实例化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>