谷歌地图 - 抓取KML / 提取叠加数据(坐标)

5
我想了解如何从谷歌地图覆盖层中抓取/提取KML数据。 过去几个月我一直在尝试,但没有成功。我尝试使用fiddler和我的控制台开发工具查看网站的源代码。我仔细阅读了几乎所有的JavaScript代码,但仍然无法弄清楚如何拦截KML数据或从这些地图中提取它们(见下文)。 目标地图: 这里是一个由一个卫星足迹组成的覆盖层(Overlay)
在这里(Here)您可以找到更多类似地图的示例。 我甚至不确定是否可能以及如何实现它。有人能做类似的任务吗?请指导我如何实现这一点。 感谢您的时间。
2个回答

1
我看了一下叠加层,没有数据可供抓取... 对于KML,你可以在服务器端轻松完成。打开KML文件,就像打开XML文件一样扫描DOM以查找标记中的placemark、polygon和lineaRing,其中包含经度、纬度格式的坐标... 在客户端,你可以使用jQuery加载XML文件并扫描所需的节点... KML结构是标准的...
<Document>
    <Folder>
        <name>Full Satellite Footprint - EIRP</name>
        <Placemark>
            <name>Atlantic Ocean EIRP 40dBW</name>
            <styleUrl>https://www.telesat.com/kml/TelesatKMLStyles.kml#coverageArea</styleUrl>
            <Polygon>
                <outerBoundaryIs>
                    <LinearRing>
                        <coordinates>36.826,55.201,0 37.0055090185901,55.2151134621769,0 36.8423211206917,55.6055987892911,0 36.5363438121321,56.3253739818074,0 36.2041398771245,57.1121727752464,0 35.6982976142624,58.2038341375218,0 35.4781980136987,58.66035224623429,0 35.2392363744069,59.1245171274041,0 34.991585220959,59.5937508918316,0 34.7381410580738,60.0586398991811,0 34.4948230756851,60.5170059779041,0 34.2134913653683,60.9937069314964,0 33.9399744247826,61.4547783456267,0 33.6430131750038

嗨,是的,我知道解析KML文件很简单,但问题在于我根本没有任何文件。只有一个(如上所述)。我手头只有这些第三方网站的链接。我想知道是否可能从实时的谷歌地图(Target maps上的链接)中提取这些数据?如果可以,我应该在哪里查找?谢谢。 - Awena
从您提供的类似于Google地图实时覆盖层的示例中,并没有发现数据是通过动态生成的脚本加载的,我也没有找到KML或其他有用的数据。 - ScaisEdge

0

你可以使用pjscrape.

它有一个很酷的WebKit引擎,可以运行Javascript并渲染页面。也许这就是你要问的东西。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接