basemap有没有中文版的底图,支持3D的??

之前用的是这个(北京捷泰天域信息技术有限公司的):
esri.basemaps.selfBasemap = {baseMapLayers: [{url: "http://map.geoq.cn/ArcGIS/rest ... ot%3B}]};
map = new esri.Map("mapDiv",{logo : false,logoVisible:false,center:[108.4707150000, 23.6133290000],basemap: "selfBasemap",zoom: 8});

但是把arcgis javascript api的版本换成4.2之后,这个basemap就不支持3d了,只能用arcgis提供的英文版basemap。

微信截图_20170101222047.png

 
已邀请:

谢军

赞同来自: java2596098860 herrshi

原因:When adding an TileLayer to a map in a SceneView, the TileLayer needs to be published from ArcGIS Server 10.3 and later or ArcGIS Server 10.2.2 with this applied fix. 由于这个地图服务使用的是10.2.1版本的ArcGIS Server,所以在SceneView中加载不上。

解决办法:用代理服务器将10.2.2之前版本的地图服务伪装成第三方的地图服务,然后利用WebTileLayer将其加载到SceneView上。

操作步骤:
1)设置代理服务器
下载并配置代理页,在proxy.config文件中增加:
<serverUrl url="http://map.geoq.cn/ArcGIS/rest ... ot%3B matchAll="true"/>

2)在JS中实例化WebTileLayer并作为底图使用
    <script>
require([
"esri/Map",
"esri/views/SceneView",
"esri/Basemap",
"esri/layers/WebTileLayer",
"esri/config",
"dojo/domReady!"
], function(Map, SceneView,Basemap,WebTileLayer,esriConfig) {

esriConfig.request.proxyUrl = "http://192.168.100.117/DotNet/proxy.ashx";
esriConfig.request.forceProxy = true;

var layer = new WebTileLayer({
urlTemplate: "http://map.geoq.cn/ArcGIS/rest ... tile/${level}/${row}/${col}"
});

var myBasemap = new Basemap({
baseLayers: [layer],
title: "Custom Basemap",
id: "myBasemap"
}
);

var map = new Map({
basemap: myBasemap,
ground: "world-elevation"
});

var view = new SceneView({
container: "viewDiv",
map: map,
scale: 50000000,
center: [116.5, 39.5]
});

});
</script>

徐珂 - ArcGIS for Desktop

赞同来自: java2596098860

问了一下,没有中文的。

herrshi

赞同来自: java2596098860

没有的,自己发布一个切片服务吧。记得切片方案选arcgis online

java2596098860 - 改不完的BUG

赞同来自:

没人会吗?这个问题还木有解决。。

要回复问题请先登录注册