地理信息?
我做了个程序是要在地图上显示汽车,其中汽车是bmp文件。但是出来的是一个7。请问高手怎么修改?
procedure TForm1.Map1ToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1,
X2, Y2, Distance: Double; Shift, Ctrl: WordBool;
var EnableDefault: WordBool);
Var
s : variant;
Pnt : cmapxPoint; //点
FeaFac :cmapxFeatureFactory; //地图图元
Lyr : cmapxLayer; //图层
Ftr : cmapxFeature ; //图元对象
NewStyle : cmapxStyle ; //点对象的样式符号
Nothing:variant;
begin
s :=CreateOleObject('MapX.Point.4');
s:=map1.Layers.CreateLayer('temp',emptyparam,emptyparam,emptyparam,emptyparam);
Lyr:=Map1.Layers.Item('temp'); // 新建图层
Lyr.Style.SupportsBitmapSymbols;
Lyr.Style.SymbolBitmapOverrideColor;
FeaFac:=map1.featurefactory; //土元
NewStyle:=Lyr.Style;
//NewStyle.SupportsBitmapSymbols;
// NewStyle.SymbolBitmapOverrideColor;
With NewStyle do
begin
SymbolType:=miSymbolTypeBitmap; //SymbolType是如何显示点图元(以图)
SymbolBitmapSize:= 24 ;
SymbolBitmapTransparent:= False ;
SymbolBitmapName:='F:\应用mapx\导入bmp文件\GiftService.bmp';
end;
map1.AutoRedraw:=False; //禁止自动刷新
Lyr.Editable:=True;//置当前图层为可写状态
pnt := CoPoint.Create;
pnt.Set_(x1,y1);
//Lyr.SearchAtPoint(s,emptyparam); //'创建点对象
//'添加进当前图层
Ftr:=FeaFac.CreateSymbol(Pnt,Newstyle);
Ftr:=FeaFac. CreateSymbol (Pnt,map1.DefaultStyle);
Lyr.AddFeature(Ftr,EmptyParam);
Lyr.Refresh;
Map1.AutoRedraw:=True;
Lyr.Editable:=False;
end;
另我也做了一个别的程序也是显示汽车的
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MapXLib_TLB, StdCtrls;
type
TForm1 = class(TForm)
Map1: TMap;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure car;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var
dxpos,dypos:double;
{$R *.dfm}
{ TForm1 }
procedure TForm1.car;
var
G_CarLayer:MapXLib_TLB.layer;
fMapSymbol:MapXLib_TLB.Feature;
fNewSymbol:MapXLib_TLB.Feature;
begin
dxpos:= Map1.CenterX;
dypos:= Map1.CenterY;
G_CarLayer:=Map1.Layers.CreateLayer('temp',emptyparam,emptyparam,emptyparam,emptyparam);
G_CarLayer.Style.SupportsBitmapSymbols;
G_CarLayer.Style.SymbolBitmapOverrideColor;
Map1.Layers.AnimationLayer:=G_CarLayer;
fNewSymbol.Attach(map1);
With Map1.DefaultStyle do
begin
// SymbolFont: = 'custom symbols';
SymbolType :=1;
SymbolBitmapName :='TEMP1-32.BMP';
SymbolBitmapSize:= 24;
SymbolBitmapTransparent := True;
end;
fNewSymbol.Type_:=miFeatureTypeSymbol;
fNewSymbol.Style:=Map1.DefaultStyle;
fNewSymbol.Point.Set_(dxpos, dypos) ;
fMapSymbol:=G_CarLayer.AddFeature(fNewSymbol,emptyparam);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
car;
end;
end.其中一直说fNewSymbol.Attach(map1);有问题,请问怎么解决啊?
procedure TForm1.Map1ToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1,
X2, Y2, Distance: Double; Shift, Ctrl: WordBool;
var EnableDefault: WordBool);
Var
s : variant;
Pnt : cmapxPoint; //点
FeaFac :cmapxFeatureFactory; //地图图元
Lyr : cmapxLayer; //图层
Ftr : cmapxFeature ; //图元对象
NewStyle : cmapxStyle ; //点对象的样式符号
Nothing:variant;
begin
s :=CreateOleObject('MapX.Point.4');
s:=map1.Layers.CreateLayer('temp',emptyparam,emptyparam,emptyparam,emptyparam);
Lyr:=Map1.Layers.Item('temp'); // 新建图层
Lyr.Style.SupportsBitmapSymbols;
Lyr.Style.SymbolBitmapOverrideColor;
FeaFac:=map1.featurefactory; //土元
NewStyle:=Lyr.Style;
//NewStyle.SupportsBitmapSymbols;
// NewStyle.SymbolBitmapOverrideColor;
With NewStyle do
begin
SymbolType:=miSymbolTypeBitmap; //SymbolType是如何显示点图元(以图)
SymbolBitmapSize:= 24 ;
SymbolBitmapTransparent:= False ;
SymbolBitmapName:='F:\应用mapx\导入bmp文件\GiftService.bmp';
end;
map1.AutoRedraw:=False; //禁止自动刷新
Lyr.Editable:=True;//置当前图层为可写状态
pnt := CoPoint.Create;
pnt.Set_(x1,y1);
//Lyr.SearchAtPoint(s,emptyparam); //'创建点对象
//'添加进当前图层
Ftr:=FeaFac.CreateSymbol(Pnt,Newstyle);
Ftr:=FeaFac. CreateSymbol (Pnt,map1.DefaultStyle);
Lyr.AddFeature(Ftr,EmptyParam);
Lyr.Refresh;
Map1.AutoRedraw:=True;
Lyr.Editable:=False;
end;
另我也做了一个别的程序也是显示汽车的
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MapXLib_TLB, StdCtrls;
type
TForm1 = class(TForm)
Map1: TMap;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
procedure car;
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
var
dxpos,dypos:double;
{$R *.dfm}
{ TForm1 }
procedure TForm1.car;
var
G_CarLayer:MapXLib_TLB.layer;
fMapSymbol:MapXLib_TLB.Feature;
fNewSymbol:MapXLib_TLB.Feature;
begin
dxpos:= Map1.CenterX;
dypos:= Map1.CenterY;
G_CarLayer:=Map1.Layers.CreateLayer('temp',emptyparam,emptyparam,emptyparam,emptyparam);
G_CarLayer.Style.SupportsBitmapSymbols;
G_CarLayer.Style.SymbolBitmapOverrideColor;
Map1.Layers.AnimationLayer:=G_CarLayer;
fNewSymbol.Attach(map1);
With Map1.DefaultStyle do
begin
// SymbolFont: = 'custom symbols';
SymbolType :=1;
SymbolBitmapName :='TEMP1-32.BMP';
SymbolBitmapSize:= 24;
SymbolBitmapTransparent := True;
end;
fNewSymbol.Type_:=miFeatureTypeSymbol;
fNewSymbol.Style:=Map1.DefaultStyle;
fNewSymbol.Point.Set_(dxpos, dypos) ;
fMapSymbol:=G_CarLayer.AddFeature(fNewSymbol,emptyparam);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
car;
end;
end.其中一直说fNewSymbol.Attach(map1);有问题,请问怎么解决啊?
...全文
相关推荐
地理信息系统概论课后习题全部答案_黄杏元著
1、什么是地理信息系统(GIS)?它与一般计算机应用系统有哪些异同点?2、地理信息系统有哪几个主要部分组成?它的基本功能有哪些?试举目前广泛应用的两个基础地理信息系统软件为例,列出它们的功能分类表,并
环境监控指挥系统地理信息子系统设计方案
还在四处寻找有关于环境监控指挥系统地理信息子系统设计方案吗?整理发布的这一款环境监控指挥...该文档为环境监控指挥系统地理信息子系统设计方案,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载
获取地理信息
在IT行业中,获取地理信息是一项常见的任务,尤其在网站分析、个性化推荐和安全防护等领域。本文将详细探讨如何使用PHP编程语言,结合新浪IP查询接口,来实现IP地址到地理位置的转换。
地理信息系统考点整理.pdf
中国常用的地图投影有高斯-克里格投影,如1:1万至1:50万比例尺地形图采用经差6?或3?分带。地图投影的选择是为了将地球表面的信息转换到平面上,GIS数据库建立时需进行投影变换,以便数据处理和显示。
地理信息系统基础:空间数据元数据.ppt
Page ? * 学 习 目 标 ·理解元数据的概念,了解空间数据元数据所用到的概念 ·了解空间数据元数据的分类和标准 ·了解空间数据元数据的获取方法 ·弄清为什么在地理信息系统中使用元数据 ·说明空


