Code: Select all
public static void LoadDataToArcMap(String layerfilename)
{
IGxLayer pGxLayer = new GxLayerClass();
IGxFile pGxFile = (IGxFile)pGxLayer;
pGxFile.Path = layerfilename;
IMxDocument doc = ArcMap.Document;
IMap map = doc.FocusMap;
Int16 index = 0;
if (map.LayerCount > 0)
{
do
{
ILayer layer = map.get_Layer(index);
index++;
if (layer.Name == pGxLayer.Layer.Name)
return;
}
while (index < map.LayerCount);
}
map.AddLayer(pGxLayer.Layer);
}
Code: Select all
private static void LoadLayer(string layerFilename)
{
Map map = MapView.Active.Map;
//I already tried this but createParams.Item.Name is empty
//var uriNewLayer = new Uri(layerFilename);
//var createParams = new LayerCreationParams(uriNewLayer);
//var newLayerName = createParams.Item.Name;
var newLayerName = "???";
foreach (var layer in map.Layers)
{
if (layer.Name == newLayerName)
{
MessageBox.Show("Layer '" + newLayerName + "' already loaded.");
return;
}
}
Layer newLayer = LayerFactory.Instance.CreateLayer(uriNewLayer, map);
}