0

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

例子-

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

在 arcgis javascript 中可能吗?

4

3 回答 3

0

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

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

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

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

于 2017-02-17T19:38:42.350 回答
0

好吧,很明显,您想在将线符号/要素添加到地图后从地图中隐藏现有底图。

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

1.底图添加为平铺地图服务。

如果您已将底图添加为ArcGISTiledMapServiceLayerhide() ,则在完成线形图形后添加 ID 或在变量中分配和使用方法

更多详情请点击这里...

2. 仅使用底图的键添加底图

ArcGIS JS API 还允许用户仅使用他们的密钥添加一些默认底图。单击此处了解默认底图的键/名称。

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

随意拍摄您的查询。

希望这会帮助你:)

于 2017-02-27T13:28:24.313 回答
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);
});
于 2017-02-24T14:26:23.870 回答