2010-04-01 111 views
7

我想在Google地图网页中提取一组约50-100个引脚的经度和纬度。我不控制网页,我不需要多做一次,所以我正在寻找快速而肮脏的东西。我有FireBug以及Chrome的FireFox,我需要的是比重新输入所有数字更容易的事情。如何在谷歌地图中提取纬度/纬度?

+1

你为什么要窃取数据? – Jonathan 2010-04-01 04:05:57

+0

@Jonathan:你为什么认为我会偷东西?从我所说的,它可能来自公共领域的数据集。 (事实上​​,我有充分的理由相信业主对我提取数据没有问题,页面是公开的。) – BCS 2010-04-01 06:29:55

+4

如果它是一个公共数据集,那么为什么不能获得它,而不是编写脚本来存放数据从一个应用程序内?一个公开可用的页面并不意味着它上面的数据是免费的... – Jonathan 2010-04-01 07:37:42

回答

2

只是保存.html文件,并使用正则表达式的作品:

这两个正则表达式可能是很好的出发点:

@[0-9]+\.[0-9]+,-[0-9]+.[0-9]+",geocode:"",sxti:"[[email protected] .]+" 
{id:"[A-Zloc0-9]+",fid 
0

取决于地图的类型和引脚是否设置通过经纬度或地址,它甚至可能只是获得链接(点击谷歌地图页面上的“链接”,浏览器中的URL可能不是山姆),然后查找“sll = [.. 。]“参数。

+0

好吧,现在我该如何提取链接?请记住,我不仅可以通过手工轻松完成。 – BCS 2010-09-06 04:16:17

+0

哪个链接?我以为你想要经度/纬度。 – Dominik 2010-09-06 10:02:56

14

只需点击链接快捷方式在地图上中检索的URL与引脚的地图。

下一页添加&output=kml到这个网址的结尾,并使用链接检索包含KML文件所有的引脚数据。

这个kml文件实际上是xml格式,所以解析它应该很容易,你只需要寻找包含你需要的经度和纬度数据的<coordinates>元素。

的KML格式记录在这里:http://code.google.com/apis/kml/documentation/kmlreference.html

+0

一个简单的正则表达式提取坐标将是。* FixerMark 2010-09-12 09:04:56

+4

这不再适用。 现在诀窍是: https://www.google.com/maps/d/kml?mid={map_id} 例如: https://www.google.com/maps/d/kml ?中旬= 1lL6Ylpo7P3HnANcHTAzbH5hEx-E – brunetton 2016-06-08 12:20:09

0

谷歌已经改变了很多,你可以提取有关google.maps信息,并设置一些限制,像一天的查询号码的方式。

要提取Google地图的纬度和经度,您需要了解HMTL代码和操作JSON/XML文件的知识。 (所有这些都可以在许多教程中找到)

我建议您使用de Google Places API来提取数据,这非常容易!您可以免费提取大约150,000个位置,您必须获得一个帐户,激活你的特权API的地方(打开/关闭BUTTOM),让你的密钥,然后用一个简单的网址,以获取JSON/XML文件,这里有两个很大的联系。

[1] https://developers.google.com/places/documentation/search?hl=en

[2] https://developers.google.com/places/training/basic-place-search?hl=en

如果您需要关于坐标的详细信息,请转到第二个链接中的“请求地点详细信息”部分提供了有关网站的类型,电话号码以及用户所做的所有评论(如果可用)的信息。

伟大的编码和问候!

相关问题