如何读取本地谷歌地图数据
How to read local Google Maps data?
当我在谷歌地图上拖动和缩放,或使用谷歌地图制作器中的"浏览"功能时,我假设只有基本的地图数据,如建筑多边形坐标和交通/餐厅等图标位置+悬停数据,通过互联网发送到我的电脑。(这与数据密集型场景形成了鲜明对比,在这种场景中,我的鼠标坐标不断通过互联网发送到服务器,而这些服务器不断相应地发回新图像。)
[1] 这些地图数据存储在哪里
[2] 如何访问它们?
编辑
根据Lulyon的建议,我打开了Firefox的Firebug。谷歌地图似乎是以图像的形式出现的,而不是以动态/分层对象的形式出现。当您将鼠标悬停在显著对象上时,浏览器会发送一个回调请求,如:GET https://mt3.google.com/mapslt/ft?lyrs=gw%3Adirect%3AGFwQAlABWgZsbXE6Kip1wBWuQHoFZjphbnk%7Cgid%3AXTlZKwxnPFg6qxnrb95r6g&x=84590&y=203485&z=19&hl=en&xc=1%2C17452890%2C3%2C7&callback=_xdc_._ihjf8sfqe
按F12,检查浏览器显示的所有资源。您可以在资源选项卡中找到所有图像链接。
[1]映射数据在服务器端覆盖,然后作为图像发送到客户端。例如:
GET https://mt3.google.com/mapslt?lyrs=gw:direct:GFwQAlABWgZsbXE6Kip1wBWuQHoFZjphbnk|gid:XTlZKwxnPFg6qxnrb95r6g&x=5283&y=12716&z=15&hl=en
mt3
服务器mapslt
lyrs=gw
direct:...|gid:...
大概指定了在服务器端用地标和红色建筑多边形覆盖图像后的图像IDx=[0, 2^z - 1] y=[0, 2^z - 1]
指定平铺坐标z=[0,21]
指定缩放级别(请注意,平铺的数量取决于缩放级别)hl:en
英语
[2] 必须获取校准图像,其中像素可以映射到lat/long。这可以通过指定xyz坐标(lyrs=m@['d]+
??):来执行
http://mt0.google.com/vt/lyrs=m@129&hl=en&x=23&y=13&z=5
或者使用静态映射API。最后,可以处理所需对象的图像(例如,通过颜色阈值),然后通过墨卡托投影确定像素的纬度/经度。
请填写???如果你知道的话
- 不显示带有本地json文件数据的谷歌地图脚本
- 缓存谷歌地图数据
- 谷歌地图/Angular JS:地图更新并不总是反映数据,并且可以't删除标记
- 将iPhone位置数据输入谷歌地图
- 使用来自URL的JSON数据来显示谷歌地图标记-如何
- 基于数据的谷歌地图API标记
- 如何通过使用谷歌地图从文本字段提交来修改javascript对象中的数据
- 谷歌地图获取kml数据并显示它们
- 谷歌地图/融合表Javascript HTML赢得't显示/可视化所有多边形数据(通过色标)
- 在谷歌地图的JSON数据中循环
- 谷歌地图API-在从ajax页面加载新数据之前清除标记、多段线
- 谷歌地图数据类型抛出类型错误:can't将未定义转换为对象
- 从外部网站获取谷歌地图数据
- 如何填充谷歌地图数据图层的颜色
- 如何读取本地谷歌地图数据
- 当我展开手风琴面板时,谷歌地图数据将不会出现
- 如何获得外部谷歌地图数据作为KML从HttpResponse直接到Javascript或jQuery
- 在HTML文本区域中显示谷歌地图数据层
- 如何从谷歌地图数据层中删除数据
- 我可以在谷歌地图数据层中设置笔触样式吗?