亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mapx.~pas

?? Delphi + MapX程序框架(地圖)源碼程序
?? ~PAS
?? 第 1 頁 / 共 3 頁
字號(hào):
  I: Integer;
begin
  if AList <> nil then
  begin
    AList.Clear;
    for I:= 1 to FMap.Layers.Count do
      AList.Add(FMap.Layers.Item[I].Name);
  end;
end;

procedure TMapX.Get_VisibleLayers(AList: TStringList);
var
  I: Integer;
begin
  if AList <> nil then
  begin
    AList.Clear;
    for I:= 1 to FMap.Layers.Count do
      if FMap.Layers.Item[I].Visible then
        AList.Add(FMap.Layers.Item[I].Name);
  end;
end;

procedure TMapX.Get_LayerFields(ALayer: string; AList: TStringList);
var
  I: Integer;
begin
  if (LayerExist(ALayer)) and (AList <> nil) then
  begin
    AList.Clear;
    BindLayerData(ALayer);
    for I:= 1 to FMap.DataSets.Item[ALayer].Fields.Count do
      AList.Add(FMap.DataSets.Item[ALayer].Fields.Item[I].Name);
  end;
end;

function TMapX.LayerExist(ALayer: string): Boolean;
var
  I: Integer;
begin
  Result:= False;
  for I:= 1 to FMap.Layers.Count do
    if FMap.Layers.Item[I].Name = ALayer then
    begin
      Result:= True;
      Break;
    end;
end;

function TMapX.LayerSelectable(ALayer: string): Boolean;
begin
  Result:=
    LayerExist(ALayer) and FMap.Layers.Item[ALayer].Visible and FMap.Layers.Item[ALayer].Selectable;
end;

function TMapX.LayerVisible(ALayer: string): Boolean;
var
  I: Integer;
begin
  Result:= False;
  for I:= 1 to FMap.Layers.Count do
    if FMap.Layers.Item[I].Name = ALayer then
    begin
      Result:= FMap.Layers.Item[I].Visible;
      Break;
    end;
end;

function TMapX.DataExist(AData: string): Boolean;
var
  i: Integer;
begin
  Result:= False;
  for i:= 1 to FMap.DataSets.Count do
    if FMap.DataSets.Item[i].Name = AData then
    begin
      Result:= True;
      Break;
    end;
end;

procedure TMapX.BindLayerData(ALayer: string);
begin
  if not DataExist(ALayer) then
    FMap.Datasets.Add(miDataSetLayer,FMap.Layers.Item[ALayer], ALayer, EmptyParam,
                  EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;

procedure TMapX.MapXOnMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if FCurrentTool = mttRulerTool then
    FRulerTool.Execute(X,Y,Button,mmDown);
end;




procedure TMapX.MapXOnMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
var
  MyPoint: CMapXPoint;
  X1,Y1: Single;
  Fs: CMapXFeatures;

begin
  FMouseScreenX:= X;
  FMouseScreenY:= Y;
  X1:= X/1.0; Y1:= Y/1.0;
  FMap.MapUnit:= 1; //miUnitKilometer
  FMap.ConvertCoord(X1,Y1,FMouseX,FMouseY,1); //miScreenToMap
  MyPoint:= CoPoint.Create;
  MyPoint.Set_(FMouseX,FMouseY);
  if LayerVisible(FWorkLayer) then
    Fs:= FMap.Layers.Item[FWorkLayer].SearchAtPoint(MyPoint,miSearchResultDefault)
  else
    Fs:= nil;
  if (Fs <> nil) and (Fs.Count > 0) then
    FFeatureUnderMouse:= Fs.Item[1]
  else
    FFeatureUnderMouse:= nil;

  if (FeatureUnderMouse <> nil) and (FCurrentTool in [mttPointSelectTool, mttLabelTool, mttInforTool]) then
    Screen.Cursor:= crHandPoint
  else
    Screen.Cursor:= crDefault;

  if FCurrentTool = mttRulerTool then
    FRulerTool.Execute(X,Y,mbLeft,mmMove);//mbLeft沒有實(shí)際意義,只是作為參數(shù)
end;

procedure TMapX.MapXOnMouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
end;

procedure TMapX.MapXOnPolyToolUsed(ASender: TObject; ToolNum: Smallint;
  Flags: Integer; const Points: IDispatch; bShift, bCtrl: WordBool;
  var EnableDefault: WordBool);
begin
  case ToolNum of
    Ord(mttPolygonSelectTool): if flags = 1 then FPolygonSelectTool.Execute(Points,bShift,bCtrl);
    Ord(mttRulerTool): if flags = 1 then FRulerTool.FRulerMode:= rmFinished;
    Ord(mttAreaTool): FAreaTool.Execute(Points);
  end;
  {
  if (ToolNum = 121) and (Flags = 0) then
    FAddPolyLineTool.Timer.Enabled:= True;
  if (ToolNum = 121) and (Flags = 1) then
  begin
    FAddPolyLineTool.Execute(Points);
    FAddPolyLineTool.Timer.Enabled:= False;
  end;
  }
  {
  if (ToolNum = 122) and (Flags = 1) then
    FAddPolygonTool.Execute(Points);
  }
end;

procedure TMapX.MapXOnToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1,
  X2, Y2, Distance: Double; Shift, Ctrl: WordBool;
  var EnableDefault: WordBool);
begin
  case ToolNum of
    Ord(mttPointSelectTool): FPointSelectTool.Execute(X1,Y1,Shift,Ctrl);
    Ord(mttRadiusSelectTool): FRadiusSelectTool.Execute(X1,Y1,Distance,Shift,Ctrl);
    Ord(mttRectSelectTool): FRectSelectTool.Execute(X1,Y1,X2,Y2,Shift,Ctrl);
    Ord(mttInforTool): FInforTool.Execute(X1,Y1);
    Ord(mttLabelTool): FLabelTool.Execute(X1,Y1);
    //120: FAddPointTool.Execute(X1, Y1);
  end; //  case
end;

procedure TMapX.OpenFile(AFileName: string);
begin
  if AFileName <> FFileName then
  begin
    FMap.GeoSet:= AFileName;
    FFileName:= AFileName;
  end;
end;

procedure TMapX.SetCurrentTool(const Value: TMapXToolType);
begin
  if FCurrentTool <> Value then
  begin
    FCurrentTool := Value;
    FMap.CurrentTool:= Ord(FCurrentTool);
    if Assigned(FOnCurrentToolChanged) then
      FOnCurrentToolChanged(Self, FCurrentTool);
  end;
end;

procedure TMapX.SetFileName(const Value: string);
begin
  OpenFile(Value);
end;

procedure TMapX.SetLayerSelection(Shift, Ctrl: boolean; Fs: CMapxFeatures;
  ALayer: String);
begin
  if (not(Ctrl)) and (not(Shift)) then
  begin
    FMap.Layers.ClearSelection;
    FMap.Layers.Item[ALayer].Selection.Add(Fs);
  end
  else if (Ctrl) and (not(Shift)) then
    FMap.Layers.Item[ALayer].Selection.Add(Fs)
  else if (not(Ctrl)) and (Shift) then
    FMap.Layers.Item[ALayer].Selection.Remove(Fs);
end;

procedure TMapX.SetLayerVisible(ALayer: string; IsVisible: Boolean);
var
  I: Integer;
begin
  for I:= 1 to FMap.Layers.Count do
    if FMap.Layers.Item[I].Name = ALayer then
    begin
      FMap.Layers.Item[I].Visible:= IsVisible;
      Break;
    end;
end;

procedure TMapX.SetWorkLayer(const Value: string);
begin
  if FWorkLayer <> Value then
  begin
    if LayerExist(Value) then
      FWorkLayer:= Value
    else
      FWorkLayer:= '';
    if Assigned(FOnWorkLayerChanged) then
      FOnWorkLayerChanged(Self, FWorkLayer);
  end;
end;

procedure TMapX.TitleSetting;
var
  frmTitle: TfrmTitle;
begin
  frmTitle:= TfrmTitle.Create(nil);
  frmTitle.SetMap(FMap);
  frmTitle.SetTitle(FMap.Title.Caption);
  frmTitle.setTitleVisible(FMap.Title.Visible);
  frmTitle.SetTitleBorder(FMap.Title.Border);
  frmTitle.ShowModal;
  if frmTitle.ModalResult = mrOK then
  begin
    FMap.Title.Caption:= frmTitle.GetTitle;
    FMap.Title.Visible:= frmTitle.GetTitleVisible;
    FMap.Title.Border:= frmTitle.GetTitleBorder;
  end;
  frmTitle.Free;
end;

procedure TMapX.LayerSetting;
var
  I: Integer;
begin
  for I:= 1 to FMap.Layers.Count do
    BindLayerData(FMap.Layers.Item[I].Name);
  FMap.Layers.LayersDlg(EmptyParam, EmptyParam);
end;

procedure TMapX.ThemeSetting;
var
  frmTheme: TfrmTheme;
begin
  frmTheme:= TfrmTheme.Create(nil);
  frmTheme.SetMapXTheme(FMapXTheme);
  frmTheme.ShowModal;
  if frmTheme.ModalResult = mrOK then
  begin

  end;
  frmTheme.Free;
end;

procedure TMapX.SaveAsGstFile;
const
  Filter = 'GST|*.gst';
var
  SaveDialog: TSaveDialog;
  FileName: string;
begin
  SaveDialog:= TSaveDialog.Create(nil);
  SaveDialog.Filter:= Filter;
  if SaveDialog.Execute then
  begin
    FileName:= SaveDialog.FileName;
    FileName:= FileName+'.gst';
    FMap.SaveMapAsGeoset(ExtractFileName(FileName),FileName);
  end;
  SaveDialog.Free;
end;

function TMapX.GetLayerCount: Integer;
begin
  Result:= FMap.Layers.Count;
end;

procedure TMapX.SaveAsGraph;
const
  Filter = 'JPG|*.jpg|BMP|*.bmp|TIF|*.tif|GIF|*.gif';
var
  SaveDialog: TSaveDialog;
  frmSave: TfrmSave;
  Ext: Integer;
  FileName: string;
begin
  SaveDialog:= TSaveDialog.Create(nil);
  SaveDialog.Filter:= Filter;
  if SaveDialog.Execute then
  begin
    FileName:= SaveDialog.FileName;
    case SaveDialog.FilterIndex of
      1: begin
           Ext:= 3;
           if Pos('.jpg', FileName) = 0 then
             FileName:= FileName+'.jpg';
         end;
      2: begin
           Ext:= 1;
           if Pos('.bmp', FileName) = 0 then
             FileName:= FileName+'.bmp';
         end;
      3: begin
           Ext:= 4;
           if Pos('.tif', FileName) = 0 then
             FileName:= FileName+'.tif';
         end;
      4: begin
           Ext:= 2;
           if Pos('.gif', FileName) = 0 then
             FileName:= FileName+'.gif';
         end;
    end;
    frmSave:= TfrmSave.Create(nil);
    frmSave.SetMap(FMap);
    frmSave.ShowModal;
    if frmSave.ModalResult = mrOK then
      FMap.ExportMap(FileName, Ext, StrToFloat(frmSave.Edit1.Text), StrToFloat(frmSave.Edit2.Text));
    frmSave.Free;
  end;
  SaveDialog.Free;
end;

procedure TMapX.PrintMap;
var
  frmPrint: TfrmPrint;
begin
  frmPrint:= TfrmPrint.Create(nil);
  frmPrint.SetMap(FMap);
  frmPrint.ShowModal;
  if frmPrint.ModalResult = mrOK then
  begin
    Printer.BeginDoc;
    FMap.PrintMap(Printer.Handle, 0, 0, StrToInt(frmPrint.Edit1.Text), StrToInt(frmPrint.Edit2.Text));
    Printer.EndDoc;
  end;
  frmPrint.Free;
end;

procedure TMapX.SearchSetting;
var
  frmSearch: TfrmSearch;
begin
  frmSearch:= TfrmSearch.Create(nil);
  frmSearch.SetBuddyMap(Self);
  try
    frmSearch.ShowModal;
  finally
    frmSearch.Free;
  end;
end;

function TMapX.GetDataSetCount: Integer;
begin
  Result:= FMap.DataSets.Count;
end;

function TMapX.GetDataSetByName(AName: string): CMapXDataSet;
begin
  Result:= FMap.DataSets.Item[AName];
end;

function TMapX.GetSearchResult(ALayer, AField, AText: string;
  SearchType: TSearchType): CMapxfeatures;
var
  SearchSQL: string;
begin
  case SearchType of
    stExact:        begin
                      AText:= '"'+AText+'"';
                      SearchSQL:= AField+' = '+AText;
                    end;
    stRightDim:     begin
                      AText:= '"'+'%'+AText+'"';
                      SearchSQL:= AField+' like '+AText;
                    end;
    stLeftDim:      begin
                      AText:= '"'+AText+'%'+'"';
                      SearchSQL:= AField+' like '+AText;
                    end;
    stArbitraryDim: begin
                      AText:= '"'+'%'+AText+'%'+'"';
                      SearchSQL:= AField+' like '+AText;
                    end;
  end; //case
  Result:= FMap.Layers.Item[ALayer].Search(SearchSQL,EmptyParam);
end;

function TMapX.GetCombinedFeature(Fs: CMapXFeatures): CMapXFeature;
var
  i: Integer;
begin
  if (Fs.Count <> 0) then
    if (Fs.Item[1].type_ = 0) or (Fs.Item[1].type_ = 1)  then
      if Fs.Count = 1 then result:= Fs.Item[1]
      else
      begin
        result:= Fs.Item[1];
        for i:= 2 to Fs.Count do
          Result:= FMap.FeatureFactory.CombineFeatures(Result,Fs.Item[i]);
      end;
end;

function TMapX.GetAnalyseResult(AnalyseType: TAnalyseType;
  SourceF: CMapXFeature; DesLyr: string; Dis: Double): CMapXFeatures;
begin
  case AnalyseType of
    atSelected:   Result:= FMap.Layers.Item[DesLyr].Selection.Clone;
    atInRegion:   Result:= FMap.Layers.Item[DesLyr].SearchWithinFeature(
                    SourceF,0);
    atAroundPoint,
    atAlongLine:  Result:= FMap.Layers.Item[DesLyr].SearchWithinDistance(
                    SourceF,Dis,0,0);
  end;
end;

function TMapX.GetAnalyseTypes(SourceFs: CMapXFeatures): TAnalyseTypes;
begin
  Result:= [];
  if (SourceFs <> nil) and (SourceFs.Count > 0) then
  begin
    Result:= Result+[atSelected];
    case SourceFs.Item[1].type_ of
      miFeatureTypeRegion : Result:= Result+[atInRegion];

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
依依成人精品视频| 欧美一区二区视频在线观看2022 | www.99精品| 成人av在线看| 91精品国产麻豆| 免费高清视频精品| 一本久道中文字幕精品亚洲嫩| 欧美午夜精品一区| 国产精品毛片久久久久久| 亚洲不卡av一区二区三区| 国产成人综合网| 欧美伦理影视网| 亚洲精品中文在线观看| 91美女在线看| 国产欧美精品一区| 久久国产麻豆精品| 7777精品伊人久久久大香线蕉 | 亚洲国产成人高清精品| 不卡的av在线播放| 亚洲综合在线观看视频| 亚洲成人免费在线观看| 678五月天丁香亚洲综合网| 国内一区二区视频| 日韩欧美国产小视频| 五月婷婷综合激情| 日韩欧美国产三级| 韩国中文字幕2020精品| 国产精品久久久久久亚洲毛片 | 91在线视频在线| 国产日韩欧美在线一区| 91久久精品午夜一区二区| 亚洲日本护士毛茸茸| 国产91精品露脸国语对白| 久久久久久一级片| 国产在线一区二区综合免费视频| 国产精品久久福利| 欧美欧美欧美欧美首页| 日本伊人精品一区二区三区观看方式 | 本田岬高潮一区二区三区| 亚洲一区av在线| 日本一区二区三区久久久久久久久不| 在线观看亚洲一区| 天堂在线亚洲视频| 91精品蜜臀在线一区尤物| 成人综合婷婷国产精品久久蜜臀| 国产精品久久久久久久久免费桃花 | 9191成人精品久久| kk眼镜猥琐国模调教系列一区二区| 午夜亚洲福利老司机| 国产亚洲成av人在线观看导航| 精品一区二区三区视频在线观看| 99re这里只有精品首页| 日韩精品一二区| 欧美人牲a欧美精品| 成人晚上爱看视频| 婷婷中文字幕综合| 国产精品无遮挡| 69堂成人精品免费视频| 99精品在线观看视频| 韩国精品久久久| 亚洲一区二区三区在线播放| 精品久久久久久久久久久院品网| 91日韩一区二区三区| 韩国av一区二区三区四区 | 国产一区二区三区国产| 制服丝袜国产精品| 99re这里只有精品视频首页| 日本三级韩国三级欧美三级| 久久精品人人做人人爽97| 欧美精品第一页| 91免费版在线| 国产69精品一区二区亚洲孕妇 | 精品久久久三级丝袜| 欧洲国内综合视频| 成人黄色大片在线观看| 美国毛片一区二区三区| 欧美男人的天堂一二区| 成人国产精品免费网站| 激情成人综合网| 日韩制服丝袜先锋影音| 国模娜娜一区二区三区| 日韩av电影免费观看高清完整版 | 欧美日韩一区三区| 国产成人无遮挡在线视频| 日韩电影在线观看网站| 天天操天天干天天综合网| 一区二区在线观看视频 | 精品一区二区三区免费观看 | 综合激情网...| 久久精品欧美一区二区三区麻豆| 在线观看免费视频综合| 99视频在线精品| av不卡免费在线观看| 国产精品88888| 久久精品日韩一区二区三区| 欧美mv和日韩mv国产网站| 欧美一区二区三区视频在线观看| 色一区在线观看| 欧美唯美清纯偷拍| 欧美亚洲精品一区| 欧美亚洲综合网| 欧美色综合天天久久综合精品| 91小视频免费观看| 91麻豆精品视频| 色综合色狠狠综合色| 色欧美乱欧美15图片| 欧洲精品视频在线观看| 欧美久久久久中文字幕| 在线成人av影院| 欧美精品久久久久久久久老牛影院| 在线成人av网站| 日韩欧美成人午夜| 久久久久久综合| 国产精品不卡在线观看| 伊人婷婷欧美激情| 午夜电影一区二区| 久久综合综合久久综合| 麻豆精品一区二区av白丝在线| 九色综合狠狠综合久久| 国产大陆a不卡| 97超碰欧美中文字幕| 香蕉久久夜色精品国产使用方法| 日韩激情一区二区| 国产福利精品一区二区| av中文字幕一区| 色婷婷av一区二区三区之一色屋| 欧美性欧美巨大黑白大战| 欧美夫妻性生活| 欧美成人精品福利| 国产视频一区二区在线观看| 国产精品热久久久久夜色精品三区| 亚洲视频免费在线| 日韩国产精品久久| 成人在线综合网站| 欧美日韩一区在线观看| 国产午夜亚洲精品不卡| 一区二区三区四区不卡在线 | 日韩欧美一级精品久久| 国产女人aaa级久久久级 | 精品久久久久久无| 国产精品久久久久久久第一福利| 亚洲va国产va欧美va观看| 国产精品88888| 欧美日韩精品三区| 国产亚洲欧美一区在线观看| 亚洲精品国产无天堂网2021 | 久久精品噜噜噜成人88aⅴ| 不卡在线观看av| 日韩精品在线一区二区| 尤物在线观看一区| 美腿丝袜亚洲综合| 欧美日韩三级一区| 国产精品久久久久aaaa樱花 | 亚洲人精品午夜| 狠狠色狠狠色综合系列| av中文字幕不卡| 日韩欧美国产麻豆| 亚洲成人av在线电影| 成人午夜视频福利| 亚洲精品一区二区三区99| 亚洲综合免费观看高清完整版| 精品在线播放午夜| 欧美日韩一级片网站| 亚洲日本中文字幕区| 国产乱码一区二区三区| 欧美一区二区三区视频免费| 夜色激情一区二区| 国产成人在线看| 国产日本欧洲亚洲| 国内精品伊人久久久久影院对白| 欧美日韩综合在线| 亚洲精品网站在线观看| 播五月开心婷婷综合| 国产日韩三级在线| 国产中文字幕精品| 精品成人在线观看| 美女免费视频一区| 欧美高清你懂得| 一区二区三区在线观看网站| 91啪九色porn原创视频在线观看| 国产欧美精品一区| 国产91综合一区在线观看| 精品成人佐山爱一区二区| 经典三级一区二区| 欧美成人性福生活免费看| 另类中文字幕网| 欧美大白屁股肥臀xxxxxx| 日本欧美久久久久免费播放网| 欧美日韩精品一区二区在线播放| 亚洲日本成人在线观看| 91天堂素人约啪| 一级特黄大欧美久久久| 欧美午夜精品久久久| 性久久久久久久久| 日韩欧美亚洲国产另类| 久久99国产精品免费| 久久夜色精品国产欧美乱极品| 精品影视av免费| 欧美xxxx老人做受| 激情六月婷婷久久|