首页 / 浏览问题 / 组件GIS / 问题详情
C# 添加天地图?
11EXP 2018年07月05日
在iobject中,如何用c#语言添加在线地图的天地图服务到三维场景中?

2 个回答

详见 iObjects .Net 帮助文档API说明
public class Layer3DWMS

extends Layer3D

WMS(网络地图服务)图层类,继承于 Layer3D 类型。

该图层可以使 WMS(网络地图服务)在三维场景中直接显示,通过Layer3Ds.add(String dataName, Layer3Dtype layerType, boolean addToHead) 方法添加该类型图层到三维场景中,该方法需要传入三个参数,dataName 对应的是在发布WMS(网络地图服务)的网址;layerType 对应的是 WMS(网络地图服务)图层的类型,对于 WMS(网络地图服务)图层应当选择 Layer3DType.WMS 类型;addToHead 表示是否将新添加的三维图层加到最上面。

698EXP 2018年07月05日
Layer3D layer3d = m_SceneControl.Scene.Layers.Add(@"http://t0.tianditu.com/img_c/wmts", Layer3DType.WMTS,"img", true);
4,620EXP 2018年07月05日
我添加天地图后,发现有偏移,该怎么弄呢。

在SuperMap.xml中修改CustomDPIX和CustomDPIY设置成90.7。

这个修改是在本地修改还是 服务器上?

这是由于不同天地图服务提供者切图时采用不同dpi导致,软件无法适配所有,可以通过修改索引文件的一个参数实现。在【桌面安装目录】\\Bin\\Cache\\WebCache\\WMTS\\目录中,找到相应服务图层对应的文件夹,继续深入其子文件夹找到sci文件,修改>sml:CoordRatio<的值为3.779527559055118(96/25.4)或2.952755905511811(72/25.4),再次打开天地图服务即可正常。

...