日期:2014-05-20  浏览次数:21100 次

略懂arcgis的进,很简单,也可能不是arcgis问题
private static ESRI.ArcGIS.Carto.IMapLayerInfos GetMapLayerInfos(Map map)
  {
 
  MapFunctionality mf = (MapFunctionality)map.GetFunctionality("NorthAmericaMap");
  MapResourceLocal mr;
  mr = mf.MapResource as MapResourceLocal;


  ESRI.ArcGIS.Server.IServerContext context = mr.ServerContextInfo.ServerContext;

   

  ESRI.ArcGIS.Carto.IMapServer server = context.ServerObject as ESRI.ArcGIS.Carto.IMapServer;
  ESRI.ArcGIS.Carto.IMapServerInfo mapInfo = server.GetServerInfo(server.DefaultMapName);
  return (ESRI.ArcGIS.Carto.IMapLayerInfos)mapInfo.MapLayerInfos;
  }

ESRI.ArcGIS.Server.IServerContext context = mr.ServerContextInfo.ServerContext;
为什么一走到这句就报:未将对象引用设置到对象的实例 应该怎么解决,什么原因导致的?

------解决方案--------------------
学习。
------解决方案--------------------
有可能是mf.MapResource==null,或者mf.MapResource转为MapResourceLocal失败。。
用之前先判断对象是否为null吧。