2015-01-02 124 views
1

我在delphi应用程序中使用gmlib,它满足我的需求。我加载标记形成坐标表,但现在我想要替换默认标记样式。由于我在代码中完成了这一切,因此我没有任何gmmarker项目。我的代码是简单的循环:更改GMLib默认标记

gmmarker1.Add(qryPoints.FieldByName('lat').AsFloat,qryPoints.FieldByName('lon').AsFloat,address); 

,当我尝试使用更改图标:

gmmarker1.Items[0].Icon:='c:\measle.png'; 

我得到一个错误“参数超出范围”

是否可以更改默认没有添加项目到标记的图标?或者我做错了什么?

回答

1

TGMMarker的Add方法返回一个TMarker对象。您可以使用它来分配更多属性,如图标属性。但是,如果存在任何标记,gmmarker1.Items [0] .Icon或gmmarker1 [0] .Icon必须工作。检查gmmarker1.Count之前

+0

这样做,谢谢。我添加了一个变量,标记(int)并添加了代码:markers:= gmmarker1.Count; 对于标记:= 0到标记-1确定 开始 gmmarker1.Items [markers] .Icon:='c:\ fdms \ measle.png'; 结束; –