我是 arcgis javascript 的新手。我已经在 arcgis javascript 中创建了街道地图,并且还在该地图中添加了图形。我想禁用该地图而不是该地图上的图形。我该怎么做?
例子-
我添加了一个具有街道类型的底图,然后我添加了图形,即线条。现在,我想禁用街道底图。我只想显示线条。
在 arcgis javascript 中可能吗?
我是 arcgis javascript 的新手。我已经在 arcgis javascript 中创建了街道地图,并且还在该地图中添加了图形。我想禁用该地图而不是该地图上的图形。我该怎么做?
例子-
我添加了一个具有街道类型的底图,然后我添加了图形,即线条。现在,我想禁用街道底图。我只想显示线条。
在 arcgis javascript 中可能吗?
您需要做的是使用创建自己的自定义底图(这将是一个空白/空服务)然后您需要将该新底图添加到图库小部件
https://developers.arcgis.com/javascript/3/jsapi/basemaplayer-amd.html
https://developers.arcgis.com/javascript/3/jsapi/basemapgallery-amd.html
如果您不想使用底图库,您也可以将新创建的底图图层与 setBasemap 一起使用。即:map.setBasemap(emptybasemap);
好吧,很明显,您想在将线符号/要素添加到地图后从地图中隐藏现有底图。
这完全取决于您如何添加底图。以下是实现此目的的两种不同方法-
1.底图添加为平铺地图服务。
如果您已将底图添加为ArcGISTiledMapServiceLayerhide()
,则在完成线形图形后添加 ID 或在变量中分配和使用方法
更多详情请点击这里...
2. 仅使用底图的键添加底图
ArcGIS JS API 还允许用户仅使用他们的密钥添加一些默认底图。单击此处了解默认底图的键/名称。
但是,如果您使用第二种方法,则首先访问地图中的底图图层对象,一旦找到底图,然后只需隐藏hide()
该图层的使用方法。
随意拍摄您的查询。
希望这会帮助你:)
或者你可以只添加你的线层,没有底图,即:
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);
});