1

我正在做一个项目,我必须从几个外部 Google Maps 地图中获取数据(标记等)。我在客户端用 Javascript 写这个,理论上它都可以正常工作,但问题是当我使用 .get() 或 .ajax() 为每个地图调用 KML 生成 url 时,它会处理HttpGet-request,并返回 .KML 文件.. 但它将其放置在 HttpResponse 的“Content-disposition: attachment; filename=file.KML”属性中。

有没有办法用 JS/jQuery 把那个文件从那里取出来?读取文件本身没有问题,它是从 ResponseHeader 中取出的,这是问题所在,因为我无法将它本地保存在服务器上。

有任何想法吗?非常感谢您的洞察力!

4

1 回答 1

1

geoxml3和geoxml -v3都是 Google Maps API v3 的第三方 KML 解析器。两者都通过 javascript 检索 KML 并将其呈现在 Google Maps API v3 地图上作为本机 Google Maps API v3 对象。两者都受到同域 XmlHttpRequest 对象安全限制,但可以通过使用代理来克服。

使用 geoxml3(通过代理)呈现 Google 地图“我的地点”KML 的示例:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/xmlProxy060215.asp?http%3A%2F%2Fmaps.google.com%2Fmaps%2Fms%3Fauthuser% 3D0%26vps%3D1%26ie%3DUTF8%26msa%3D0%26output%3Dkml%26msid%3D207980401364810598110.0004ab78bf6d3aeea442f

您的 KML:

http://www.geocodezip.com/geoxml3_test/v3_geoxml3_kmltest_linktoB.html?filename=http://www.geocodezip.com/xmlProxy060215.asp?https%3A%2F%2Fmaps.google.nl%2Fmaps%2Fms%3Fie% 3DUTF8%26authuser%3D0%26msa%3D0%26output%3Dkml%26msid%3D211591338385347280942.0004d68aa8ea9e70e23f8

于 2013-03-07T06:46:19.120 回答