如何在arcgis javascript中禁用地图

时间:2017-02-12 15:53:19

标签: arcgis arcgis-js-api arcgis-server arcgis-runtime arcgis-runtime-net

我是arcgis javascript的新手。我在arcgis javascript中创建了街道地图,并在该地图中添加了图形。我想禁用该地图而不是该地图上的图形。我该怎么做?

示例 -

我添加了一个具有街道类型的底图,之后我添加了图形,即行。现在,我想禁用街道底图。我想只显示行。

是否可以在arcgis javascript中使用?

3 个答案:

答案 0 :(得分:0)

您需要做的是使用(它将是一个空白/空服务)创建您自己的自定义底图 然后,您需要将新的底图添加到图库小部件

https://developers.arcgis.com/javascript/3/jsapi/basemaplayer-amd.html

https://developers.arcgis.com/javascript/3/jsapi/basemapgallery-amd.html

如果您不想使用底图库,您还可以将新创建​​的basemapLayer与setBasemap一起使用。即:map.setBasemap(emptybasemap);

答案 1 :(得分:0)

或者您可以添加您的图层,而不是底图,即:

require([
  "esri/map", "esri/layers/FeatureLayer",
  "esri/geometry/Extent", "esri/SpatialReference",
  "dojo/domReady!"], function(
    Map,  FeatureLayer,
    Extent, SpatialReference
  ) {
  var map = new Map("mapDiv", {extent: new Extent(-178.217598382, 18.921786345999976, -66.96927110500002, 71.40623554799998,new SpatialReference({ wkid:4326 }))});
  var statesLayer = new FeatureLayer('http://sampleserver6.arcgisonline.com/arcgis/rest/services/USA/MapServer/2',
    {outFields: ["*"]}
  );
  map.addLayer(statesLayer);
});

答案 2 :(得分:0)

嗯,显然你想在将地图符号/特征添加到地图后隐藏地图中的现有底图。

这完全取决于您添加底图的方式。以下是实现此目的的两种不同方法 -

<强> 1。底图将添加为平铺地图服务。

如果您已将底图添加为 ArcGISTiledMapServiceLayer ,则在添加时会提供ID或在varibale中分配,并在完成线图形后使用hide()方法

有关详细信息click here...

<强> 2。仅使用底图的键

添加底图

ArcGIS JS API还允许用户仅使用其键添加一些默认底图。 点击此处了解default basemaps的键/名称。

但是,如果您正在使用第二种方法,那么首先访问地图中的底图图层对象,一旦找到底图,然后只需使用图层的hide()方法隐藏它。

随意拍摄您的疑问。

希望这会对您有所帮助:)