问题描述
|
是否有可能以某种方式使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文件(使用将为您加载文件的服务器端脚本)。