3.2.3 图层的选择、移动、隐藏显示和卸载

选择

1 var
2   pLayer: ILayer;
3 begin
4   pLayer := aeMapMain.Layer[0]; // 图层的索引号是从 0 算起的
5 end;

根据图层名称选择图层的函数

 1 function GetLayerByName(MapControl: TMapControl; sLayerName: string): ILayer;
 2 var
 3   I, count: Integer;
 4 begin
 5   with MapControl do
 6   begin
 7     count := LayerCount;
 8     for I := 0 to count - 1 do
 9     begin
10       if Layer[I].Name = sLayerName then
11       begin
12         Result := Layer[I];
13         Exit;
14       end;
15     end;
16   end;
17 end;

图层移动

1 var
2   pLayer: ILayer;
3 begin
4 
5   pLayer := GetLayerByName(aeMapMain, '分市州');
6   aeMapMain.Map.MoveLayer(pLayer, 0); // 索引号小的图层 位于 索引号大的上面
7 
8 end;

图层隐藏

 1 var
 2   pLayer: ILayer;
 3 begin
 4   // 方法1
 5   aeMapMain.Layer[2].Visible := False; // 隐藏指定图层
 6   aeMapMain.ActiveView.Refresh; // 必须刷新才能看到效果
 7 
 8   // 方法2
 9   pLayer := GetLayerByName(aeMapMain, '分市州');
10   pLayer.Visible := False;
11   aeMapMain.ActiveView.Refresh; // 必须刷新才能看到效果
12 
13 end;

 图层卸载

 1 var
 2   pLayer: ILayer;
 3 begin
 4   // 方法1
 5   aeMapMain.DeleteLayer(2);
 6 
 7   // 方法2
 8   pLayer := aeMapMain.Layer[2];
 9   aeMapMain.Map.DeleteLayer(pLayer);
10 
11   // 卸载所有图层
12   aeMapMain.ClearLayers;
13   aeMapMain.ActiveView.Refresh;
14 
15 end;
原文地址:https://www.cnblogs.com/chinacodegear/p/1755166.html