阅读:3315回复:5
MapObjects中坐标系和投影转换问题探讨,欢迎大家参与
各位仁兄:
近来我曾经一直致力于Mapobjects中坐标系和投影转换大的问题,但是遇到了很多问题 ,归纳如下:(希望各位能够给出一些解答和建议) (1)地图控件的坐标系和图层坐标系可以不同,那么这有什么好处?在一般的情况下我们是设置地图控件的坐标系和图层坐标系相同还是不同?两种情况各适合于那种情况? (2)是不是只要设置如下,就可以解决坐标系转换问题? procedure TForm1.Button2Click(Sender: TObject); var csmap:Variant; str:string; layer:ImoMaplayer; begin layer:=ImoMaplayer(createoleobject('Mapobjects2.Maplayer')); layer:=ImoMaplayer(Map1.Layers.Item(0)); if form1.RadioGroup1.ItemIndex=0 then csMap:=ImoGeocoordsys(createoleobject('Mapobjects2.Geocoordsys')) else csMap:=ImoProjcoordsys(createoleobject('Mapobjects2.Projcoordsys')); csmap.type:=stripproj(form1.ComboBox1.Items.Strings[form1.ComboBox1.itemindex]);//stripproj函数提取方括号中的整数 layer.CoordinateSystem:=csmap;//出现异常 Map1.CoordinateSystem:=csmap;//出现异常 reportlayercs(Map1.CoordinateSystem); end; end. 但是现在遇到了这样的问题,在注释中我给出了出现异常的语句,很不解是怎么回事情。恳请各位能够给出解答。 |
|
1楼#
发布于:2003-11-05 19:31
错误信息是什么?map1.layer
[此贴子已经被作者于2003-11-5 19:31:47编辑过]
|
|
|
2楼#
发布于:2003-11-05 21:40
Access Vialation at address 283a9d50 in module "AF20.dll",read of address 0000000004
|
|
3楼#
发布于:2003-11-06 08:35
af20.dll就是发布mo 的所需文件了,可能不支持你这种方式获取
|
|
|
4楼#
发布于:2003-11-06 08:37
这是个vb的例子,实现了对地图的投影,获取屏幕,窗体单位,以各种单位来显示地图的,
<a href="attachment/20031168353435877.rar">20031168353435877.rar</a> |
|
|
5楼#
发布于:2003-11-06 19:07
先谢谢了,斑竹。
|
|