⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 GIS开发
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ToolWin, OleCtrls, MapXLib_TLB, MapTools, StdCtrls,
  ExtCtrls;

type
  TForm1 = class(TForm)
    Map1: TMap;
    StatusBar1: TStatusBar;
    ToolBar1: TToolBar;
    ToolButton1: TToolButton;
    ToolButton2: TToolButton;
    ToolButton3: TToolButton;
    ToolButton4: TToolButton;
    WdMapWrapper1: TWdMapWrapper;
    ToolButton5: TToolButton;
    ToolButton6: TToolButton;
    ToolButton7: TToolButton;
    ToolButton8: TToolButton;
    Memo1: TMemo;
    ToolButton10: TToolButton;
    ToolButton9: TToolButton;
    ToolButton11: TToolButton;
    ToolButton12: TToolButton;
    ToolButton13: TToolButton;
    Map2: TMap;
    Panel1: TPanel;
    procedure ToolButton1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure ToolButton2Click(Sender: TObject);
    procedure ToolButton3Click(Sender: TObject);
    procedure ToolButton4Click(Sender: TObject);
    procedure WdMapWrapper1MapMousePoint(Sender: TObject; MapX, MapY: Double);
    procedure ToolButton5Click(Sender: TObject);
    procedure ToolButton6Click(Sender: TObject);
    procedure ToolButton7Click(Sender: TObject);
    procedure ToolButton8Click(Sender: TObject);
    procedure WdMapWrapper1SelectResultEvent(Sender: TObject; Result: TStrings);
    procedure ToolButton11Click(Sender: TObject);
    procedure ToolButton12Click(Sender: TObject);
    procedure WdMapWrapper1MeasureingDistanceEvent(Sender: TObject;
      CurrentDistance, TotalDistance: Double);
    procedure WdMapWrapper1MeasureingAreaEvent(Sender: TObject;
      RegionArea: Double);
    procedure ToolButton13Click(Sender: TObject);
    procedure Map1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    FWdMapWrapper:TWdMapWrapper;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  WdMapWrapper1.Startup;
  WdMapWrapper1.ActiveLayer:='B杭州市区地名';
  WdMapWrapper1.LoadLayerConfig;
  Map2.Bounds := Map2.Layers.Bounds;
end;

procedure TForm1.Map1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  RealX ,RealY : Double;
  ScreenX,ScreenY : Single;
begin
  if ssCtrl in Shift then
  begin
    ScreenX := X;
    ScreenY := Y;
    Map1.ConvertCoord(ScreenX,ScreenY,RealX,RealY,miScreenToMap);
    WdMapWrapper1.DrawPictureBitmap(UD_LAYER_TEMP,'天天',RealX,RealY,'PIN6-32.BMP');

  end;
end;

procedure TForm1.ToolButton11Click(Sender: TObject);
begin
  WdMapWrapper1.SetDistanceTool;
end;

procedure TForm1.ToolButton12Click(Sender: TObject);
begin
  WdMapWrapper1.SetAreaInfoTool;
end;

procedure TForm1.ToolButton13Click(Sender: TObject);
begin
  WdMapWrapper1.ConfigLayer;
  WdMapWrapper1.SaveLayerConfig;
end;

procedure TForm1.ToolButton1Click(Sender: TObject);
begin
  WdMapWrapper1.SetArrowTool;
end;

procedure TForm1.ToolButton2Click(Sender: TObject);
begin
  WdMapWrapper1.SetZoomInTool;
end;

procedure TForm1.ToolButton3Click(Sender: TObject);
begin
  WdMapWrapper1.SetZoomOutTool;
end;

procedure TForm1.ToolButton4Click(Sender: TObject);
begin
  WdMapWrapper1.SetPanTool;
end;

procedure TForm1.ToolButton5Click(Sender: TObject);
begin
  WdMapWrapper1.SetSingleSelect;
end;

procedure TForm1.ToolButton6Click(Sender: TObject);
begin
  WdMapWrapper1.SetRadiusSelect;
end;

procedure TForm1.ToolButton7Click(Sender: TObject);
begin
  WdMapWrapper1.SetRectangleSelect;
end;

procedure TForm1.ToolButton8Click(Sender: TObject);
begin
  WdMapWrapper1.SetPolygonSelect;
end;

procedure TForm1.WdMapWrapper1MapMousePoint(Sender: TObject; MapX,
  MapY: Double);
begin
  self.StatusBar1.Panels[0].Text:='X: '+FloatToStr(MapX)+'   '+'Y: '+FloatToStr(MapY) ;
end;

procedure TForm1.WdMapWrapper1MeasureingAreaEvent(Sender: TObject;
  RegionArea: Double);
begin
  Memo1.Lines.Add('面积是: '+FloatToStr(RegionArea));
end;

procedure TForm1.WdMapWrapper1MeasureingDistanceEvent(Sender: TObject;
  CurrentDistance, TotalDistance: Double);
begin
  Memo1.Lines.Add('Total: '+FloatToStr(TotalDistance)+'  Current: '+FloatToStr(CurrentDistance))
end;

procedure TForm1.WdMapWrapper1SelectResultEvent(Sender: TObject;
  Result: TStrings);
begin
  Memo1.Clear;
  self.Memo1.Lines.AddStrings(Result);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -