首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VEMap和GeoRSS提要(单独托管)

VEMap和GeoRSS提要(单独托管)
EN

Stack Overflow用户
提问于 2010-03-19 15:02:59
回答 1查看 593关注 0票数 0

设想情况如下:

  • 存在一个输出有效GeoRSS提要的WCF服务。它存在于自己的域中,因为许多不同的应用程序都可以访问它。
  • 使用VEMap(Bing/虚拟地球地图对象)的实例创建了一个网页(位于不同的站点上)。

现在,VEMap可以通过以下方式接受这种格式的输入提要:

代码语言:javascript
复制
var layer = new VEShapeLayer();
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "someurl", layer);

map.ImportShapeLayerData(veLayerSpec, onComplete, true);

onComplete是一个回调函数,我使用它来用自定义的东西替换默认的引脚图形。

问题在于"someurl",它是一个包含地理信息(georss简单格式)的本地xml文件的路径。我已经意识到这个提要和映射必须托管在同一个域中,所以我创建了一个通用处理程序,它读取远程提要并以相同的格式返回它。

代码语言:javascript
复制
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "/somelocalhandler.ashx", layer);

当我这样做时,我会得到VEMap错误(“z为null")。这与尝试访问远程提要时会收到的错误相同。当我将提要复制到本地xml文件(即"feed.xml")时,没有错误。

当前的操作顺序是:远程提要->本地处理程序-> VEMap导入

如果我把这个程序复杂化了,请告诉我!我对Bing地图API有点陌生,可能漏掉了一些东西。如能提供任何协助,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-19 18:19:14

我上面的格式实际上非常接近我所需要的。虽然我将RSS直接传递给处理程序(直接写入读取流),但也找到了一个类似的作者声明: Mike .解决方案,我只需要在处理程序中指定以下内容:

代码语言:javascript
复制
context.Response.ContentType = "text/xml";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;

有了上面的修复,我可以让远程GeoRSS提要成功地加载一个单独托管的虚拟地球地图实例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2478300

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档