在这个页面中,我使用Javascript嵌入了一个谷歌地图,并从我的域上加载的静态KML文件中加载数据。我想改进我的地图加载数据从存储在谷歌服务器上的动态KML文件(网络链接),但由于跨域限制,这无法直接完成。我尝试使用php代理,但我的托管服务不允许这样做。(不要问我为什么,我收到错误406响应,客服说这种请求被他们的过滤器阻止了!)
那么,我如何在没有代理的情况下进行跨域操作呢?
这是给出kml文件的链接:http://maps.google.com/maps/ms?authuser=0&vps=2&hl=en&ie=UTF8&lr=lang_en|lang_fr|lang_it&oe=UTF8&msa=0&msid=201512616711333791415.0004c56e9ca3fb71ba551&输出=kml
谢谢!
您可以使用JSONP来克服跨域问题。看看这些链接:
http://www.jquery4u.com/json/jsonp-examples/
http://www.ibm.com/developerworks/library/wa-aj-jsonp1/
如果您的kml由KmlLayer在Google Maps API v3(或v2中的GGeoXml,或Google Maps)中显示,只要它是公开可用的,它就可以工作,不存在跨域问题。也许你自己在分析它,如果是的话,你的问题中没有说明。