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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unitshellapis.~pas

?? 此代碼是關于mapgis的在
?? ~PAS
?? 第 1 頁 / 共 2 頁
字號:
      if TLayerTreeNodeRecord(ANode.Data).FtClassType=FtClassType then
      begin
        Result:=MyGIS.GMapTools.MapX.Layers.Item[i];
        LayerNode:=ANode;
        Exit;
      end;
  end;
end;

procedure MoveLayer(MapX:TMapXObject; const FromIndex, ToIndex: Integer);
var
  SNode, DNode:TTreeNode;
  iState_SNode, iState_DNode:Integer;
begin
  MapX.Layers.Move(FromIndex, ToIndex);
  SNode:=FindLayerNode(FromIndex);
  DNode:=FindLayerNode(ToIndex);
  iState_SNode:=SNode.StateIndex;
  iState_DNode:=DNode.StateIndex;
  SNode.MoveTo(DNode, naInsert);
  DNode.StateIndex:=-1;
  SNode.StateIndex:=-1;
  DNode.StateIndex:=iState_DNode;
  SNode.StateIndex:=iState_SNode;
end;

procedure SetLayerVisible(MapX:TMapXObject; 
  const Index: Integer; const Visible:Boolean);
var
  ANode:TTreeNode;
  iState:Integer;
  aLyr:Layer;
begin
  ANode:=FindLayerNode(Index);
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(ANode.Data).Name);
  aLyr.Visible:=Visible;
  if Visible then
    iState:=TREENODESTATE_SUBCHECKEDALL
  else
    iState:=TREENODESTATE_NOTCHECKED;
  SetNodeState(ANode, iState, True, nil);
end;

procedure SetLayerEditable(MapX:TMapXObject;
  const Index: Integer; const Editable: Boolean);
var
  i:Integer;
  ANode:TTreeNode;
  aLyr:Layer;
begin
  ANode:=FindLayerNode(Index);
  MapX.Layers.InsertionLayer:=nil;
  EditLayer:=nil;
  for i:=1 to MapX.Layers.Count do
  begin
    if IsCustomLayer(MapX.Layers.Item[i]) then
      MapX.Layers.Item[i].Editable:=False;
  end;
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(ANode.Data).Name);
  if aLyr<>nil then
  begin
    aLyr.Editable:=Editable;
    if Editable then
    begin
      EditLayer:=aLyr;
      MapX.Layers.InsertionLayer:=aLyr;
    end;
  end;
end;

procedure SetLayerSelectable(MapX:TMapXObject; 
  const Index: Integer; const Selectable: Boolean);
var
  ANode:TTreeNode;
  aLyr:Layer;
begin
  ANode:=FindLayerNode(Index);
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(ANode.Data).Name);
  aLyr.Selectable:=Selectable;
end;

procedure SetLayerAutoLabel(MapX:TMapXObject; SysTreeRoot:TTreeNode;
  const Index: Integer; const AutoLabel: Boolean);
var
  ANode:TTreeNode;
  aLyr:Layer;
begin
  ANode:=FindLayerNode(Index);
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(ANode.Data).Name);
  aLyr.AutoLabel:=AutoLabel;
end;

procedure RemoveuserLayer(MapX:TMapXObject; const Index: Integer);
var
  ANode:TTreeNode;
  aLayerInfo:TLayerTreeNodeRecord;
  aLyr:Layer;
begin
  ANode:=FindLayerNode(Index);
  aLayerInfo:=ANode.Data;
  if (aLayerInfo.NodeType<>LTN_LAYER)or(aLayerInfo.IsSystem) then
    WarningAbort('提示', '只有用戶圖層可以被移出!');
  aLyr:=MyGIS.GMapTools.m_Layers.FindByName(aLayerInfo.Name);
  if aLyr=EditLayer then EditLayer:=nil;
  MyGIS.GMapTools.m_Layers.Remove(Index);
  DeleteNode(ANode);
end;

procedure RemoveAllNodes;

  procedure RemoveAllSubNodes(ANode:TTreeNode);
  var
    ASubNode:TTreeNode;
    aLayerInfo:TLayerTreeNodeRecord;
    aLyr:Layer;
  begin
    while ANode.Count>0 do
    begin
      ASubNode:=ANode.Item[0];
      aLayerInfo:=ASubNode.Data;
      if aLayerInfo.NodeType<>LTN_LAYER then
        RemoveAllSubNodes(ASubNode)
      else begin
        aLyr:=MyGIS.GMapTools.m_Layers.FindByName(aLayerInfo.Name);
        if aLyr=EditLayer then EditLayer:=nil;
        MyGIS.GMapTools.m_Layers.Remove(GetLayerIndex(MyGIS.GMapTools.MapX, aLayerInfo.Name));
      end;
      DeleteNode(ASubNode);
    end;
  end;
  
begin
  RemoveAllSubNodes(SysTreeRoot);
end;

function SetCurrentMapTool(const ToolClassName:string;
  TurnEvent:TNotifyEvent):TBaseMapTool;
var
  Index:Integer;
  AToolObj:TBaseMapTool;
begin
  MyGIS.GMapTools.m_Layer.Layer:=EditLayer;
  Index:=MyGIS.GMapTools.m_Map.UserTools.IndexByClassName(ToolClassName);
  if Index=-1 then
    WarningAbort('錯誤', '沒有找到名稱為 "'+ToolClassName+'" 的地圖工具!!');
  Result:=MyGIS.GMapTools.m_Map.UserTools.Items[Index];
  Result.MsgHandle:=AppMsgHandle;
  if Result is TLayerMapTool then
    with TLayerMapTool(Result) do
    begin
      LayerManager:=MyGIS.GMapTools.m_Layer;
      TrackLayer:=UserLayer;
    end;
  MyGIS.GMapTools.m_Map.UserTools.SetCurrentTool(Result);
  Result.OnTurnTool:=TurnEvent;
end;

procedure CheckEditLayer;
begin
  if EditLayer=nil then
    WarningAbort('提示', '請設置編輯圖層!');
  if not editlayer.Editable then
    WarningAbort('提示', '圖層沒有處于編輯狀態!');
end;

function MapFieldTypeToLogicalFieldName(AFieldType:TMapFieldType):string;
begin
  case AFieldType of
    mftString    : Result:='字符串';
    mftInteger   : Result:='整型';
    mftSmallint  : Result:='整型';
    mftBoolean   : Result:='布爾型';
    mftFloat     : Result:='浮點型';
    mftBCD       : Result:='浮點型';
    mftDateTime  : Result:='日期\時間';
    mftBinary    : Result:='二進制';
    else           Result:='';
  end;
end;

function LogicalFieldNameToMapFieldType(const FieldName:string):TMapFieldType;
begin
  Result:=mftUnknown;
  if AnsiCompareText(FieldName, '字符串')=0 then
    Result:=mftString
  else if AnsiCompareText(FieldName, '整型')=0 then
    Result:=mftInteger
  else if AnsiCompareText(FieldName, '布爾型')=0 then
    Result:=mftBoolean
  else if AnsiCompareText(FieldName, '浮點型')=0 then
    Result:=mftFloat
  else if AnsiCompareText(FieldName, '日期\時間')=0 then
    Result:=mftDateTime
  else if AnsiCompareText(FieldName, '二進制')=0 then
    Result:=mftBinary;
end;

const
  ShapeTypeNames:array [TShapeType] of string=
    (
    '未知',
    '標記',
    '線段',
    '折線',
    '矩形',
    '圓形',
    '多邊形',
    '正多邊形',
    '橢圓',
    '圓弧',
    '文字'
    );

function GetShapeTypeName(AShapeType:TShapeType):string;
begin
  Result:=ShapeTypeNames[AShapeType];
end;

function GetShapeTypeByName(const TypeName:string):TShapeType;
var
  i:Integer;
begin
  Result:=stUnknown;
  for i:=0 to 10 do
    if AnsiCompareText(ShapeTypeNames[TShapeType(i)], TypeName)=0 then
    begin
      Result:=TShapeType(i);
      Exit;
    end;
end;

function GetLayerFromTreeNode(ANode:TTreeNode):Layer;
begin
  Result:=nil;
  if (ANode<>nil)and(ANode.Level>0) then
    if TLayerTreeNodeRecord(ANode.Data).NodeType=LTN_LAYER then
      Result:=MyGIS.GMapTools.m_Layers.FindByName(TLayerTreeNodeRecord(ANode.Data).Name);
end;

function IsCustomLayer(Lyr:Layer):Boolean;
begin
  Result:=(Lyr.type_=miLayerTypeNormal)and(Lyr.Name<>'_YHB_SYS_TRACKLAYER');
end;

function GetCustomLayerIndex(MapX:TMapXObject; const ComboIndex:Integer):Integer;
var
  i, j:Integer;
begin
  Result:=-1;
  j:=-1;
  for i:=1 to MapX.Layers.Count do
    if IsCustomLayer(MapX.Layers.Item[i]) then
    begin
      Inc(j);
      if j=ComboIndex then
      begin
        Result:=i;
        Break;
      end;
    end;
end;

function GetCustomLayerComboIndex(MapX:TMapXObject; const LayerIndex:Integer):Integer;
var
  i, j:Integer;
begin
  Result:=-1;
  j:=-1;
  for i:=1 to MapX.Layers.Count do
  begin
    if IsCustomLayer(MapX.Layers.Item[i]) then
      Inc(j);
    if i=LayerIndex then
    begin
      Result:=j;
      Break;
    end;
  end;
end;

function GetBoundsString(Bounds:CMapXRectangle):string;
begin
  Result:=FloatToStr(Bounds.XMin)+','+FloatToStr(Bounds.YMin)+','+
          FloatToStr(Bounds.XMax)+','+FloatToStr(Bounds.YMax);
end;

function CreateBoundsUseBoundsString(const BoundsStr:string):CMapXRectangle;
var
  List:TStringList;
begin
  List:=TStringList.Create;
  try
    Trans2(BoundsStr, ',', List);
    Result:=CoRectangle.Create;
    Result.Set_(StrToFloat(List.Strings[0]), StrToFloat(List.Strings[1]),
                StrToFloat(List.Strings[2]), StrToFloat(List.Strings[3]));
  finally
    List.Free;
  end;
end;

end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线不卡中文字幕播放| 欧美va日韩va| 免费在线一区观看| 久久精品亚洲国产奇米99| 成人免费视频一区| 日韩精品1区2区3区| 国产精品二三区| 成人激情文学综合网| 国产精品1区2区3区在线观看| 日韩成人精品在线观看| 国产精品久久久久影视| 亚洲免费成人av| 中文字幕精品—区二区四季| 日本福利一区二区| 欧美老人xxxx18| 懂色一区二区三区免费观看| 国产a级毛片一区| 亚洲亚洲精品在线观看| 日韩电影免费在线看| 亚洲美女电影在线| 婷婷开心久久网| 亚洲综合激情另类小说区| 亚洲成人自拍网| 亚洲一区二区三区美女| 日韩国产欧美视频| 蜜臀精品一区二区三区在线观看 | 韩国在线一区二区| 精品一区二区三区影院在线午夜| 一区二区久久久| 中文无字幕一区二区三区 | 成人ar影院免费观看视频| 不卡的av电影| 不卡的av电影| 日韩欧美国产1| 91麻豆精品国产91久久久使用方法 | 成人国产在线观看| 亚洲国产色一区| 国产老肥熟一区二区三区| 久久福利视频一区二区| 99亚偷拍自图区亚洲| 国产一区二区不卡在线| 色噜噜狠狠色综合欧洲selulu| 91在线高清观看| 日本乱人伦aⅴ精品| 亚洲精品一区二区精华| 久久久久久麻豆| 亚洲成人精品影院| 日韩电影在线观看网站| 成人午夜在线视频| 粉嫩蜜臀av国产精品网站| 国产综合色精品一区二区三区| 国产精品久久久久久久久晋中| 国产精品欧美极品| 一区二区三区中文免费| 成人免费va视频| 91免费小视频| 日本一区二区视频在线观看| 自拍偷拍欧美激情| 国产一区二区三区美女| 福利一区福利二区| 91久久精品一区二区三区| 日韩一区二区三区电影| 国产欧美一区二区三区沐欲| 日韩经典中文字幕一区| 久草中文综合在线| 午夜精品久久久久久久久| 粉嫩aⅴ一区二区三区四区 | 国产精品中文字幕欧美| 欧美一级高清片| 国产精品欧美久久久久一区二区| 日韩一区二区中文字幕| 青青草国产精品亚洲专区无| 国产suv一区二区三区88区| 欧美三级视频在线观看| 国产欧美视频一区二区三区| 精品国精品自拍自在线| 中文字幕一区二区三区在线观看| 欧美xxxx在线观看| 视频一区中文字幕| 白白色 亚洲乱淫| 26uuu亚洲综合色| 国产成人在线视频免费播放| 亚洲成va人在线观看| 色综合色综合色综合色综合色综合| 91精品国产免费| 精品无码三级在线观看视频| 在线视频中文字幕一区二区| 亚洲一区二区三区四区不卡| 国产成人在线视频网站| 国产精品入口麻豆九色| 激情综合色丁香一区二区| 91同城在线观看| 国产精品久久久久久久久久免费看| 2014亚洲片线观看视频免费| 成人动漫视频在线| 久久久国产一区二区三区四区小说| 国产成人综合在线观看| 日韩一级精品视频在线观看| 激情六月婷婷久久| 日韩一区二区三区在线视频| 麻豆精品视频在线观看视频| 欧美精品v日韩精品v韩国精品v| 久久综合99re88久久爱| 99精品欧美一区二区三区小说| 精品伦理精品一区| eeuss鲁片一区二区三区在线看| 日韩欧美国产精品一区| 成人少妇影院yyyy| 亚洲视频综合在线| 日韩欧美中文字幕精品| 蜜臀av在线播放一区二区三区 | 欧美美女一区二区在线观看| 亚洲大片在线观看| 亚洲国产精品t66y| 91一区二区在线| 麻豆中文一区二区| 精品国产一区二区精华| 在线视频欧美精品| 性感美女久久精品| 国产精品美日韩| 色综合久久久网| 国产在线不卡一卡二卡三卡四卡| 欧美精品一区二区久久久| 亚洲精选视频免费看| 色综合色狠狠天天综合色| 日韩精品一区二区三区swag| 日本乱码高清不卡字幕| 日韩精品福利网| 一区二区三区在线视频观看| 欧洲精品视频在线观看| 成人av午夜电影| 亚洲综合免费观看高清完整版| 国产日韩精品一区二区三区在线| 成人综合激情网| 黑人巨大精品欧美一区| 国产精品久久久爽爽爽麻豆色哟哟| 日韩免费观看高清完整版在线观看| 日本成人在线一区| 色爱区综合激月婷婷| 日韩国产精品大片| 精品日韩一区二区三区免费视频| 日本一道高清亚洲日美韩| wwww国产精品欧美| 日韩网站在线看片你懂的| 成人精品一区二区三区四区| 亚欧色一区w666天堂| 久久久久久久久久久久久久久99 | 久久精品亚洲国产奇米99| 日韩一区二区在线播放| 欧美亚洲动漫精品| 国产乱码一区二区三区| 国产精品自拍网站| 亚洲一区二区三区不卡国产欧美| 樱花影视一区二区| 久久亚洲一区二区三区四区| 欧美成人a视频| 欧美日本韩国一区二区三区视频 | 精品精品国产高清a毛片牛牛| 国产成人精品一区二区三区四区 | 国产亚洲欧美日韩在线一区| 3d动漫精品啪啪一区二区竹菊| 亚洲精品videosex极品| 亚洲狠狠丁香婷婷综合久久久| 色噜噜偷拍精品综合在线| 欧美午夜宅男影院| 色婷婷综合久久久中文一区二区| 日本精品免费观看高清观看| 国产激情一区二区三区| 国内精品久久久久影院薰衣草| 天天操天天色综合| 五月激情综合网| 在线精品视频免费观看| 99久久综合99久久综合网站| 91麻豆蜜桃一区二区三区| 成人app软件下载大全免费| 色综合天天性综合| 99视频精品全部免费在线| 欧美综合天天夜夜久久| 91网站在线观看视频| 蜜臀久久99精品久久久久宅男| 亚洲成人免费在线观看| 中文子幕无线码一区tr| 欧美激情一区三区| 日韩在线观看一区二区| 国产精品一级黄| 国产一二精品视频| 91福利视频在线| 在线观看免费一区| 久久久久久综合| 国产情人综合久久777777| 一区二区在线观看免费视频播放| 日韩美女视频一区| 久久99精品网久久| 国产高清一区日本| 欧美日韩一区二区三区不卡| 五月婷婷另类国产| 国产高清视频一区| 成人综合在线网站| 日韩一二三区不卡| 91丨九色丨蝌蚪富婆spa|