设想情况如下:
现在,VEMap可以通过以下方式接受这种格式的输入提要:
var layer = new VEShapeLayer();
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "someurl", layer);
map.ImportShapeLayerData(veLayerSpec, onComplete, true);onComplete是一个回调函数,我使用它来用自定义的东西替换默认的引脚图形。
问题在于"someurl",它是一个包含地理信息(georss简单格式)的本地xml文件的路径。我已经意识到这个提要和映射必须托管在同一个域中,所以我创建了一个通用处理程序,它读取远程提要并以相同的格式返回它。
var veLayerSpec = new VEShapeSourceSpecification(VEDataType.GeoRSS, "/somelocalhandler.ashx", layer);当我这样做时,我会得到VEMap错误(“z为null")。这与尝试访问远程提要时会收到的错误相同。当我将提要复制到本地xml文件(即"feed.xml")时,没有错误。
当前的操作顺序是:远程提要->本地处理程序-> VEMap导入
如果我把这个程序复杂化了,请告诉我!我对Bing地图API有点陌生,可能漏掉了一些东西。如能提供任何协助,我们将不胜感激。
发布于 2010-03-19 18:19:14
我上面的格式实际上非常接近我所需要的。虽然我将RSS直接传递给处理程序(直接写入读取流),但也找到了一个类似的作者声明: Mike .解决方案,我只需要在处理程序中指定以下内容:
context.Response.ContentType = "text/xml";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;有了上面的修复,我可以让远程GeoRSS提要成功地加载一个单独托管的虚拟地球地图实例。
https://stackoverflow.com/questions/2478300
复制相似问题