在web开发中可能遇到这样的需求:需要一个地图系统,选择google map来完成地图的展示,但是该web系统由于特殊性而不允许与外网链接,还有就是现在对google的访问越来越不稳定(国家网络限制),因此希望将google map移植到内网中使用。
可以将google map api分为3个部分来看待:
1、负责与服务器交互的js文件
2、google提供的技术支持,例如查找路径、周边搜索
3、google提供的地图数据
如果需要开发的功能中包含第2部分的需求,那么可能比较复杂。因为路径算法在google服务器上实现,只是对外提供了接口,如果无法连接google网络则无法实现。
但如果开发的web中对map的使用比较简单,例如只是加载地图,有简单的地图移动等功能,那么这样的需求是可以将google map移植到内网来处理的。这种方法也适用于自定义周边搜索,例如需要完成的web功能就是通过查询,获取指定范围内的建筑物、获取自定的标记(开发本地商户搜索系统的时候,地图上商户数据的维护肯定是有web自己维护,而并非google提供的数据,这种场景正好适合)。
下来来说如何将google map本地化,可以分为两个步骤:
1、将google map使用的与服务器交互的js文件本地化
这个当然是根据google map加载时候,所需要的js下载到本地,以后再应用程序开发的时候,不引用google站点上的js,而是换成本地的js文件。具体有些什么js需要下载的,这里就不做详细介绍了,可以通过firefox的firebug插件,或是google chrome等工具查看到http请求,分析并下载有效的js文件,可能还需要分析各个js之间在使用过程中加载外链js的地址,并予以修改、替换问对本地js的调用。google map api中需要使用到的js本地化,网络上一个叫做rover.tang的朋友已经做得很好,提供了google map api v3.8的本地化js,可以在网络上找到。
2、将google map的地图数据(tiles:瓦片)下载到本地,以及应用的开发
说到地图数据,需要了解google map的一点基础知识。google把在浏览器中显示的地图,分割成一块一块的图片,称之为tile,在浏览其中显示地图的部分,从google下载各个tile,然后拼接在一起,就能够看到完整的一幅地图。每一个tile的大小都是256*256的png图片,因为存在缩放(缩放级别为0-19),每个缩放级别中,浏览器中显示地图的区域被划分为多个tile,每个tile会根据去google站点下载对应的地图数据,其实就是一张png图片,在浏览器分别请求以获取tile地图图片数据的时候,会传递给google 三个重要的参数,1、tile的x坐标;2、tile的y坐标;3、当前浏览器中显示的地图的缩放级别。
google map可以自定义地图类型(MapType),详细的可以参考https://developers.google.com/maps/documentation/javascript/maptypes
下面说说如何通过自定义方式加载地图(地图数据本地化)
来源:http://www.iteye.com/topic/1122688
分享到:
相关推荐
### 如何获取谷歌离线地图 在日常生活中,我们经常依赖于各种地图应用来帮助我们导航、探索新的地方或是寻找附近的餐馆和商店等。其中,谷歌地图作为一款全球范围内广泛使用的地图服务,提供了丰富的功能,包括实时...
在IT领域,尤其是在移动互联网和地理信息系统中,Google离线地图是一个非常实用的功能。它允许用户在没有网络连接的情况下访问和浏览地图数据,极大地提升了用户体验,特别是在旅行、户外活动或者网络信号不佳的区域...
【谷歌离线地图使用指南】 谷歌离线地图是谷歌地图服务的一个重要特性,它允许用户在没有网络连接的情况下查看和使用地图数据。这对于旅行者、户外活动爱好者或者在网络不稳定地区的人来说非常有用。以下是如何下载...
在这个压缩包中,包含了使用Google Map API V3来实现离线地图的资源和数据。 首先,我们来看看`readme.txt`文件,它通常会包含关于如何使用这些资源的说明和指导。这个文件可能包括了安装步骤、配置细节、使用API的...
在这个“谷歌离线地图范例”中,我们将关注如何将一个预下载的地图模板修改为个人定制的瓦片地图。首先,我们需要理解几个关键概念: 1. **瓦片地图(Tile Map)**:瓦片地图是一种将大地图分割成小块(通常为256x...
谷歌离线地图开发是一项技术性较强的工作,它涉及到地图数据的获取、存储和展示等多个环节。在本场景中,我们主要关注的是如何利用万能地图下载器获取谷歌地图的瓦片,并将其应用于Google Maps API v3中实现离线查看...
谷歌离线地图是一款非常实用的功能,特别是在网络不稳定或者没有网络的情况下,它可以帮助用户提前下载地图数据,以便在无网络环境中依然能够浏览地图、导航。在本文中,我们将深入探讨谷歌离线地图的工作原理、使用...
在"谷歌离线地图小程序"这个文件中,很可能包含了源代码、资源文件、编译脚本等,用于构建和运行这个MFC应用。开发者或学习者可以通过阅读这些代码了解如何集成Google Maps服务,处理地图数据,以及在MFC环境下实现...
介绍谷歌离线地图插件API,及部分功能演示。 特别适合Winform里实现离线谷歌的朋友们。
这个“google map v3离线地图资源包”显然提供了一种方法,使得用户能够在没有互联网连接的情况下使用Google Maps的功能,这对于那些在偏远地区或网络不稳定环境下的应用尤其有价值。下面将详细讨论与这个资源包相关...
本教程将重点讲解如何利用ArcGIS加载Google离线地图,帮助你在无网络环境下依然可以浏览和使用地图数据。 首先,我们要理解离线地图的概念。离线地图是指在有网络的情况下预先下载地图数据,然后在没有网络连接时也...
本文将详细介绍"谷歌离线地图含地图调用demo"这一资源,以及如何利用它进行离线地图的调用。 标题中的“谷歌离线地图”指的是能够在没有网络连接的情况下仍然可以访问和使用的地图服务。这通常通过预先下载地图数据...
Google离线地图API是开发者可以在没有网络连接的情况下提供Google地图服务的一种技术。它允许应用程序在本地存储地图数据,以便在用户设备上进行离线访问。这对于那些经常在信号不稳定或无网络覆盖区域使用的应用...
至于“Google_API - 重庆实例”,这可能是一个具体的案例,展示了如何在重庆地区使用这个离线地图系统。它可能包含特定于重庆地区的瓦片数据,以及针对该地区定制的JavaScript代码,比如特定的标注或视图设置。 ...
谷歌地图 离线api
文中所指的离线地图瓦片,通常是指存储在本地的、预先下载的Google地图的栅格数据。实现这些操作对于测绘、地理信息系统(GIS)的开发以及地图相关应用服务的提供具有重要意义。 文章首先指出,互联网技术与地图测绘...
标题中提到的"google离线地图下载器开源",指的是这款工具专门针对谷歌地图服务,能够下载谷歌地图的离线数据。谷歌地图是全球广泛使用的在线地图服务,提供了卫星图像、地形图、街景等丰富的地理信息。然而,在网络...