【问题标题】:Is it possible to specify which ArcGIS base-maps to use for the ESRI basemap gallery (ArcGIS API)?是否可以指定用于 ESRI 底图库 (ArcGIS API) 的 ArcGIS 底图?
【发布时间】:2017-04-21 14:03:02
【问题描述】:

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

showArcGISBasemaps 设置为 true 会带回所有这些,但我只想要一些选择,例如“道路”、“国家地理”和“卫星”。

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

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

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

【问题讨论】:

    标签: javascript esri arcgis-js-api


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      原来我必须在 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

      返回的底图的选项

      【讨论】:

      • 正确,showArcGISBasemaps 无法过滤。但是,您可以将 ArcGIS 组织设置为拥有一组不同的底图,然后在 BasemapGallery 小部件中使用它(使用 portalUrl) - developers.arcgis.com/javascript/3/jsapi/…
      猜你喜欢
      • 2013-06-15
      • 2015-07-22
      • 2020-03-13
      • 2020-12-09
      • 2020-10-21
      • 2021-05-16
      • 1970-01-01
      • 2018-04-11
      • 2021-02-25
      相关资源
      最近更新 更多