I'm currently having some issues testing an app using Virtual Earth locally. I came across this quote on the MSDN forums: "the KML file must be parsed by a VE service and therefore publically accessible."

I assume it's correct, since Fiddler isn't showing any outgoing HTTP requests for the (local) URL specified in my VEShapeSourceSpecification constructor.

Is there a solution to this? I can't even test on our UAT environment as that isn't publically accessible either.

I'm a little confused because I'm sure I've used Virtual Earth before locally with no problems - this would have been with GeoRSS though.

Is there a solution to the local KML issue? And if not, would converting my feed to GeoRSS fix this issue? I don't want to convert our services to output GeoRSS if the same issue is going to be present.

Very simple example of the issue:

<div id='myMap' style="position:relative; width:100%; height:400px;"></div>

<script type="text/javascript" language="javascript">
map = new VEMap("myMap");
map.LoadMap(new VELatLong(1.3, 1.3), 15, "r", false);
map.ImportShapeLayerData(new VEShapeSourceSpecification(VEDataType.ImportXML, 'http://localhost:81/ts.kml', new VEShapeLayer()));
</script>

My test KML file validates at http://kmlvalidator.com/validate.htm and also works with Virtual Earth when hosted on a public site.

Thanks in advance for any assistance.

有帮助吗?

解决方案

Is there a solution to the local KML issue? -> No, not unless you write your own client-side KML parser.

And if not, would converting my feed to GeoRSS fix this issue? -> Yes, accessing local GeoRSS files does not require a round-trip to the Microsoft Bing Maps servers.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top