我的实际应用场景是:青岛项目中需要一份除青岛范围之外的简单行政区划地图数据,看下图浅绿色数据框青岛范围是要用详细的地图叠加填充。
image
遇到的问题是:我发布的这个范围数据与青岛原有的地图数据不能叠加在一个地图上显示;arcgis js api 调用了青岛的详细地图(高德切片),然后再叠加下图的服务(未切片的外部地图范围),结果并没有出现两个底图叠加的效果。
问题原因:在于这两个服务他们的比例设置不一样
解决方法:将后发布的这个动态地图服务的比例设置成和原有切片服务一致,做法如下
1 在arcgis中自定义比例
1.png
2 选择从文件中加载比例
2.png
3 文件类型选择切片模式(*.xml)即可到切片目录中导入配置文件
3.png
经过以上设置后,即可叠加两个图层,效果如下:
image.png
image.png
附调用代码
var map;
require(["esri/map", "dojo/domReady!"], function (Map) {
map =new Map("map", {
zoom:10,
maxZoom:18,
// minZoom: 8,
center: [120.313, 36.206],
logo:false
});
var qingdaoDynamicUrl ="http://10.10.1.122:6080/arcgis/rest/services/qingdao/qingdaoOutLine/MapServer";
var gaodetiledUrl ="http://10.10.1.122:6080/arcgis/rest/services/tile/gaodeTile/MapServer";
var qingdaoDynamicLayer =new esri.layers.ArcGISDynamicMapServiceLayer(qingdaoDynamicUrl);
var gaodeTiledLayer =new esri.layers.ArcGISTiledMapServiceLayer(gaodetiledUrl);
map.addLayer(gaodeTiledLayer);
map.addLayer(qingdaoDynamicLayer);
另外 ,也可以通过查看原有切片服务的属性信息,复制出比例后手动在新地图上设定
image.png
image.png