岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks
本来这个问题其实很简单,在Flyingis的blog里面,它给的是一个用IMapServer的解决方案,但是由于要用到AO,所以我就没打算用它,因为我现在做的系统我尽可能的只利用Common API和Datasource Specific API,不想去与ServerContext打交道。

然后这样实现了:

IMapFunctionality mapFunctionality = mapResource.CreateFunctionality(typeof(IMapFunctionality), "MapDrawer"as IMapFunctionality;

mapFunctionality.DisplaySettings 
= new ESRI.ArcGIS.ADF.Web.DisplaySettings();
mapFunctionality.DisplaySettings.Visible 
= true;
mapFunctionality.DisplaySettings.ImageDescriptor 
= new ESRI.ArcGIS.ADF.Web.ImageDescriptor(ESRI.ArcGIS.ADF.Web.ImageFormat.PNG24, width, height);

//渲染到图片
ESRI.ArcGIS.ADF.Web.MapImage mi = mapFunctionality.DrawExtent(((IMapResource)mapFunctionality.Resource).MapInformation.DefaultExtent);
return mi.Url;

但是这URL就老不出来。不管怎么检查都找不到原因。
察看了MapResourceLocal,Capability也可以使用URL的方式,随后我就很纳闷了。。。

然后看到Functionality有这么个项目MapFunctionality.DisplaySettings.ImageDescriptor.ReturnMimeData
然后我就好奇心来了,如果把ReturnMimeData设置为False,既然它不能给我个URL,那把这个再禁掉,它还渲染啥呢?

结果令我大跌眼镜,没想到在关掉MimeData以后,URL就出来了。。。我才发现我完全被ArcCatalog里面的服务配置选项中的MIME+URL的描述给迷惑了。。。


posted on 2007-08-29 22:33 空明流转 阅读(1730) 评论(1)  编辑 收藏 引用

评论

# re: ArcGIS Server9.2 专题 技巧篇 今天做服务浏览页面,遇到一个渲染地图到URL的问题[未登录] 2007-08-30 09:36 flyingis
ReturnMimeData=true应该是将返回图片存储在内存中,设为false才能保存在硬盘output目录并以虚拟目录url返回。

将你的连接加到我博客了:)  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理