是否可以指定要用于ESRI底图库(ArcGIS API)的ArcGIS基本地图?

时间:2017-04-21 14:03:02

标签: javascript esri arcgis-js-api

是否可以指定要用于ESRI基本地图库( esri / dijit / BasemapGallery )的ArcGIS基本地图?

showArcGISBasemaps 设置为true会带回所有这些内容,但我只想选择少数例如“ road ”,“ national-geographic ”和“ satellite ”。

var basemapGallery = new BasemapGallery({
    showArcGISBasemaps: true,
    map: map,
}, "myPlaceHolder");

查看文档(https://developers.arcgis.com/javascript/3/jsapi/basemapgallery-amd.html),我似乎找不到任何东西。

或者,在将 showArcGISBasemaps 设置为false后,是否可以单独创建这些图层?

2 个答案:

答案 0 :(得分:0)

您可以在创建params.basemaps时指定BasemapGallery对象中的底图:new BasemapGallery()

该链接中也有代码示例。祝你好运!

答案 1 :(得分:0)

原来我必须在ArcGIS服务上找到它们后手动定位图层:http://server.arcgisonline.com/ArcGIS/rest/service

var greyLayer = new esri.dijit.BasemapLayer({
    url: "http://server.arcgisonline.com/ArcGIS/rest/services/Canvas/World_Light_Gray_Base/MapServer"
});

var greyBasemap = new esri.dijit.Basemap({
    url: [greyLayer],
    id: "mybaselayerId",
    title: "Grey"
});

basemaps.push(greyBasemap);

var basemapGallery = new BasemapGallery({
    showArcGISBasemaps: false,
    basemaps: basemaps,
    map: map,
}, "myPlaceHolder");

似乎没有选项来过滤从 showArcGISBasemaps

返回的底图