Google地图背后的技术名称是什么,它允许服务器仅发送用户请求的部分地图以提高性能,是否有任何库可以处理此问题?
答案 0 :(得分:28)
该技术通常可以描述为地图服务器。地图服务器从覆盖整个行星的大量预先生成的地图图块图像生成所请求位置的地图。地图服务器可以覆盖来自其他数据库的数据。地图查看器客户端和地理数据库的组合传统上称为地理信息系统(GIS)。
任何人都可以编写使用Google Maps API嵌入Google地图的网络应用程序。如果您希望部署自己的地图服务器,还有一个很好的开源地图服务器(称为MapServer)。
答案 1 :(得分:9)
如前所述,Google生成了所有这些256x256磁贴,并且只是为相关磁贴提供服务。从您的评论中,您似乎正在寻找能够为您生成这些瓷砖的东西。有些人编写了将图像切割成图块的代码 - 例如http://crazedmonkey.com/blog/googletilecutter或http://www.klokan.cz/projects/gdal2tiles/似乎都可以按照您的要求进行操作。
答案 2 :(得分:2)
如果您查看Google地图页面的链接,它将如下所示:
http://maps.google.com/maps?f=q&hl=en&sll=37.0625,-95.677068&sspn=53.345014,88.769531&ie=UTF8&ll=41.226264,-81.454246&spn=0.012507,0.021672&z=16
页面上的javascript代码和服务器代码使用链接中的数字来确定您正在查看的地图的位置,缩放级别和查看窗口的大小,以确定要发送到浏览器的切片
有商业图书馆可以提供地图数据以及显示和导航数据的工具。我以前见过的是Geomicro
答案 3 :(得分:2)
这是你可以用OpenSource自己尝试的东西, http://www.geoserver.org http://www.openlayers.org 和 最后但并非最不重要的 http://geowebcache.org/
您应该能够在几个小时内设置一个与maps.google类似的最小环境。
答案 4 :(得分:2)
您也可以将Google Maps API与自己的图像一起使用。当然,它们不需要是地图;它们可以是任何图像。这将允许用户拖动和缩放,就像谷歌地图一样。
答案 5 :(得分:2)
这是一个开源堆栈的简要概述,用于从EveryBlock.com的一位创始人生成基于Web的地图:http://www.alistapart.com/articles/takecontrolofyourmaps
答案 6 :(得分:1)
基础学科的通用名称为GIS。
您是否因为普遍的好奇心而要求提供更多详细信息,或者您是否对项目有特定的技术需求?
答案 7 :(得分:1)
谷歌从销售这些图像的服务中获取高清晰度卫星镜头,然后他们存储和裁剪此图像,并仅提供当您查看某个点时所需的图像。也就是说,当你放大和缩小时,你注意到你会看到方形瓷砖出现吗?这些是Google服务器为您服务的。
您还必须考虑如何使用Google文件系统和MapReduce处理负载
答案 8 :(得分:0)
这只是一个巨大的图像,由独立下载的方块组成(使用AJAX等)。我相信它是由某些内部Google库(也可能是GWT)完成的。
有关此主题的更多信息: http://blog.grimpoteuthis.org/2005/02/mapping-google.html
答案 9 :(得分:0)
Google地图和Google地球使用称为KML或“Keyhole标记语言”的东西,这是XML的一种特殊变体。它的名字是为了纪念第一颗地球跟踪卫星。您可以使用此标记对其特定的纬度和经度坐标进行地理编码,从而将信息存储在Google地球中的某个位置(并且最终会流入Google地图)。你甚至可以包括高度。
答案 10 :(得分:0)
不回答这个问题,只是更广泛的信息。微软为Silverlight提供了一种称为“深度缩放”的功能,可以轻松实现这种效果。
它是一个免费的作曲家,你可以平铺图片(或一张大图片)并进行其他设置,然后将其分解为子文件夹中的大量小图片,每个缩放级别一个文件夹。然后创建一个可以顺利使用它们的页面。
答案 11 :(得分:0)
我正在使用跨浏览器查看器来处理非常大的历史计划和版本。我在http://www.cadmaps.com/gisblog/?p=7找到的第一步(旧博客)提供了很好的帮助 了解图像金字塔(谷歌地图与之合作)。
使用'tiler'我会生成很多图像,如testImage_0001111100.png。 0001111100是图像金字塔中的第五缩放级别和x / y位置。 大多数计算(邻居图像,图像堆栈向上和向下)都是由ajax请求调用的php在服务器端完成的。
我在平滑移动和缩放中遇到(不是无法解决的)问题。这是我的问题 - 但请阅读文章。
答案 12 :(得分:-1)