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

时间:2015-11-09 13:53:55

标签: google-maps google-maps-api-3 overlay gis kml

我想了解如何从Google地图叠加层中抓取/提取KML数据。

过去几个月我一直在努力,但没有成功。我尝试使用fiddler和我的控制台开发人员工具来查看网站的源代码。 我经历了几乎每一行Javascript,我仍然无法弄清楚如何截取KML数据或从这些地图中提取它(见下文)。

目标地图

这是Overlay,其中包含一个Satellite足迹。
Here你可以找到更多类似地图的例子。

我甚至不确定这是否可行以及如何实现。
有没有人能够做类似的任务?我需要有关如何实现这一目标的指导。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

我看一下叠加层,没有数据要废弃......

对于KML很简单,你可以在服务器端做。然后像一个xml文件一样打开kml并扫描这个dom中的placemark,polygon和lineaRing标签,在里面找到lng,lat格式的坐标..

客户端你可以这样做,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

答案 1 :(得分:0)

您可以使用pjscrape.

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