想获取图层中的点,然后在点上标记symbol
下面的代码为什么在DrawShape时候出错啊?
procedure TForm1.Button2Click(Sender: TObject);
var
  flds:IMoFields;
  fld:IMoField;
  pt:IMoPoint;
  ly:IMoMapLayer;
  symbol:IMoSymbol;
begin
  //
  Symbol:= IMoSymbol(CreateOleObject('MapObjects2.Symbol'));
  Symbol := map1.TrackingLayer.symbol[0];
                       
  ly:= IMoMapLayer(CreateOleObject('MapObjects2.MapLayer'));
  ly:= IMoMapLayer(Map1.Layers.Item('行政中心'));
  
  flds:= ly.Records.Fields;
  fld:= flds.Item('shape');
  pt:= IMoPoint(CreateOleObject('MapObjects2.point'));
  pt:= IMoPoint(IDispatch(fld.Value));  Map1.DrawShape(pt,Symbol);     ////这里出错了.
end;
btw:
我的想法是在MSSQL数据库中存point的地理坐标信息,然后根据在Tmap上标记点.这个点是经常变动的,所以不能用layer画出来.
我用上面的Map1.DrawShape方法能实现吗?