MapX画点显示汉字就有错误,怎么回事?(200分)

  • 主题发起人 zealothasu
  • 开始时间
Z

zealothasu

Unregistered / Unconfirmed
GUEST, unregistred user!


一个表
place_id, place_name, longitude, latitude四个字段
其中place_id整型, place_name 字符串,都是汉字
记录着某个地点的名字和经纬度
要做到每次装载地图时都要动态装进去,在相应的经纬度显示一个点,点的标题是地点名称

adoquery1写select place_id, place_name, longitude, latitude from table1
代码写
ADOQuery1.Open;
mBinlayer := CoBindLayer.Create;
mBinlayer.LayerName := 'CarLayer';
mBinlayer.RefColumn1 := 'Longitude';
mBinlayer.RefColumn2 := 'Latitude';
mBinlayer.LayerType := miBindLayerTypeXY;
mDataset := Map1.DataSets.Add(miDataSetADO, ADOQuery1.Recordset, 'Name', 'PLACE_NAME', 'PLACE_ID', mBinlayer, EmptyParam, EmptyParam);
Map1.Layers[mBinlayer.LayerName].AutoLabel := True;

但是硬是有错误,改成 mDataset := Map1.DataSets.Add(miDataSetADO, ADOQuery1.Recordset, 'Name', 'PLACE_ID', 'PLACE_NAME', mBinlayer, EmptyParam, EmptyParam);就没事了


请问谁能够解决?

我一定要临时的图层
但是我创建的土层就是不显示汉字,一有汉字就出错
是不是汉字不行?
我的是mapx5英文版
是不是英文版不行?

 
连发了三个
但是不能怪我
谁叫我的问题我在我的信息中可以看到
但是在“我的待答问题”中看不到呢

我一直以为是系统问题呢
但是,为什么是非技术问题就看不到呢?合理吗?
以前不是的把
 
显示汉字是没问题的,但不能以汉字作为它的第一个字段显示出来‘叫什么我记不起来了’
其它的字段都可以的。

要将mapX的图层建立field,否则它默认一个字段好像叫‘GeoName’,这个字段(第一个字段)无法显示汉字的,其它的字段都可以。
 
我不明白你的数据库跟Mapx的图层是怎么样绑定的。
 
就是像我上面那样绑定的

但是显示不了汉字
会出现访问内存错误

怎么建立?我建立了却绑不上去,说找不到这样的field


 
你建立了带有field的mapX的图层了吗?
类似这样:
var
flds : Fields;
li : LayerInfo;
begin

//定义表结构
flds:=coFields.Create;
flds.AddFloatField('经度:');
flds.AddFloatField('纬度:');
。。。
//define the LayerInfo object
Li:=CoLayerInfo.Create;
li.Type_ := miLayerInfoTypeNewTable;
li.AddParameter('FileSpec',lyrFileName);
li.AddParameter('Name', lyrName);
li.AddParameter('Fields', flds);

lyrLayer:=MapX.Layers.Add(li, 1)
 
还是有问题
只要有汉字就不行了
daengine.dll错误
 
你留个mail,我发个MapX5.0的汉化文件给你看看。你要注意备份噢
 
xueglsoft@163.com
 
已经发出
 
收到了吗?解决了吗?

呵呵,你发了三个贴呀
 
收到了
就是搞不定

还是有问题
一到mDataset := Map1.DataSets.Add(miDataSetADO, ADOQuery1.Recordset, 'Name', 'PLACE_NAME', 'PLACE_ID', mBinlayer, EmptyParam, EmptyParam);
就不行了
 
好啦


好啦

终于搞定
谢谢
to yostgxf,
你想要其他两个贴得分就进去吧
 
接受答案了.
 
呵呵,我还在翻我原来的代码呢
 
顶部