1

我现在使用 ArcGIS Javascript API (v2.4) 遇到了最奇怪的问题。我只是想创建一个带有范围的 ESRI 地形图实例,然后添加一个图层。

这是有效的代码。我创建一个范围,然后是地图,然后是街道地图图层,最后添加该图层。

var startExtent = new esri.geometry.Extent(-71.5, 42, -71, 42.5, new esri.SpatialReference({wkid:4326}) );
map = new esri.Map("map_canvas", { extent: startExtent,fitExtent:false });
var streetmap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer");
map.addLayer(街道地图);

但是,当我尝试使用单独的服务器做同样的事情时,它不起作用。

var startExtent = new esri.geometry.Extent(-71.5, 42, -71, 42.5, new esri.SpatialReference({wkid:4326}) );
map = new esri.Map("map_canvas", { extent: startExtent,fitExtent:false });
var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer");
map.addLayer(底图);

我知道故障层的服务器可以工作,因为如果我创建一个没有范围的地图,它会显示完整的世界图像服务器,所以看起来创建一个带有一层和一个范围的地图是有效的,同时创建一个带有不同的层但相同的程度不起作用。

任何想法为什么?

4

1 回答 1

2

在您的第二个示例中,该图层位于web Mercator中。

在地图构造函数中使用之前,尝试将范围从地理墨卡托转换为网络墨卡托。

转换范围的最简单方法是使用esri..geometry.geographicToWebMercator.

于 2011-09-03T04:36:56.490 回答