如何使用geoXML3从外部网址获取KML?

问题描述

| 是否有可能以某种方式使KML从源头移出同一个域。我的意思是以某种方式避免使用“ Java的相同来源策略”? (由于应用程序旨在与外部源一起使用,因此无法在我们的服务器上进行缓存) 下面的代码是我们要完成的工作(在外部kml源的情况下,它会给出错误)。
<script type=\"text/javascript\">
    var myParser = new geoXML3.parser({afterParse: useTheData});
    myParser.parse(\'http://api.flickr.com/services/Feeds/geo/?g=94823070@N00&lang=en-us&format=kml\');

    function useTheData(doc) {
        // out callback
    };
</script>
问为什么有这项政策的原因是什么?由于google.maps.KmlLayer从事此类工作。不知道怎么办,或者我错过了什么。真正需要geoxml3并了解幕后的东西!     

解决方法

如果您要访问公开的KML,则只需将其加载为标准的Google覆盖
var ctaLayer = new google.maps.KmlLayer(\'http://gmaps-samples.googlecode.com/svn/trunk/ggeoxml/cta.kml\');
ctaLayer.setMap(map);
否则,如果您确实需要使用geoxml,则需要代理kml文件(使用将为您加载文件的服务器端脚本)。