Google Map API V3开发(1)

1 Google Maps 简介

谷歌地图是 Google 公司提供的电子地图服务,包括局部详细的卫星照片。此款服务可以提供含有政区和交通以及商业信息的矢量地图、不同分辨率的卫星照片和可以用来显示地形和等高线地形视图。在各类平台均有应用,操作简单方便。

谷歌地图对应不同的地区都会有一些专门的主页,首次登陆时会显示这些地区,比如,

全球主页:http://maps.google.com

香港主页:http://maps.google.com.hk

台湾主页:http://maps.google.com.tw

日本主页:http://maps.google.co.jp

中文主页: http://ditu.google.com

大陆主页:http://ditu.google.cn

2 Google Maps 地理学基础

地图类型

基本地图类型有以下三种:

?普通地图:传承与历史悠久的人工绘制地图,显示道路、河流、湖

泊等地面信息及其标注。也是最常见最常用的地图类型;

?卫星地图:用卫星遥感影像拼成的地图,受限于遥感影像的质量,不同地图的显示精度有区别;

?地形地图:在二维的普通地图上增加了海拔信息,一般用等高线标出海拔的地图。这类较精确的地形图一般有一定的保密级别,不可外泄。

?

其他地图类型:

? 叠加层( Overlay )地图:如天气地图和路况地图等。

? 混合型地图:多种类型地图的叠加,如卫星地图上增加道路层信息。

?街景( StreetView )地图,3D地图

Google Maps API 中提供了以下地图类型:

?MapTypeId.ROADMAP,用于显示默认的道路地图视图

?MapTypeId.SATELLITE,用于显示 Google 地球卫星图片

?MapTypeId.HYBRID,用于同时显示普通视图和卫星视图

?MapTypeId.TERRAIN,用于根据地形信息显示实际地图。

Google Maps投影坐标系

Google地图采用的是Web墨卡托投影(如下图),为了方便忽略了两极变形较大的地区,把世界地图做成了一个边长等于赤道周长的正方形(赤道长度为6378137米),原点在正方形中心,即经纬度为(0,0)处。Web墨卡托投影的X,Y坐标取值范围为:[-20037508.3427892,20037508.3427892],对应的经度取值范围为[-180,180],对应的纬度范围则为[-85.05112877980659,85.05112877980659]。具体投影解释请参考墨卡托投影

Google Maps 地理坐标系

地理坐标纵向以赤道所在维度线为原点,分别向南北极延伸,最大值为90。横向以格林威治天文台旧址所在的经度线(本初子午线)为原点,分别向东西延伸,最大值为180。
    地理坐标的表示方式主要有两种:一种是以度分秒/度分的方式表示,比如(39°56‘N,116°20’E);还有一种是使用十进制数的方式表示,比如(39.9333,116.3333),这是Google Maps采用的方式。在表示一个地理坐标的时候,习惯上都使用先纬度后经度的顺序来描述一个坐标,并且,对前一种坐标,是使用追加字母缩写的方式表示方向,而在后一种方式中,一般会使用X轴表示经度,Y轴表示纬度,按照上北下南左西右东的的原则来给坐标加上对应的符号,所以,对(39.9333,116.3333)我们通常就理解为北纬39.9333度、东经116.3333度。

Google Maps瓦片地图

Google Maps 拥有全球范围内多比例尺、多分辨率的线划地图、DEM 模型、地形数据、影像等海量数据,如果采用实时渲染方式应对海量的访问, 对后台的压力会相当大。于是Google Maps 将一些长时间不变动的影像DEM、 注记等的预先渲染成规则组织的瓦片存储于文件系统目录下,始等级时,整个地球只投影在一张 256*256的图片(称为图块(Tile))上, 地图的缩放功能是由四叉树实现的, 地图每放大一个级别后原来的 1 张 256*256的图片分裂成4张256*256的图片。比例尺则减小为原来的一半,分辨率变成 4 倍,随着缩放等级的增大,瓦片自顶向下呈几何级数的增长,形成一个金字塔状。

瓦片地图金字塔模型是一种多分辨率层次模型,从瓦片金字塔的底层到顶层,分辨率越来越低,但表示的地理范围不变。

可以把Google Maps理解为是使用图块/图片填充起来的一系列网格,在不同的缩放级别,地图被分解为不同数目的网格。详细的说,在缩放级别为0的时候,整个世界地图只有一个网格,缩放级别每增大一级,所有的网格在横向和纵向就分割一次,也就是说,对应于某一特定的缩放级别N,网格的数目就是4的N次方,即4N。

时间: 2024-11-05 13:34:51

Google Map API V3开发(1)的相关文章

Google Map API V3开发(2)

3 Google Map API 简介 Google 地图 API 免费提供给用户并且适用于所有网站.Google 地图 API 使您能够使用 JavaScript 将 Google地图嵌入自己的网页中.API 提供了大量实用工具用以处理地图(正如 http://ditu.google.com 网页上的地图),并通过各种服务向地图添加内容,从而使您能够在您的网站上创建功能强大的地图应用程序. 4 帮助资源 ?Google Maps JavaScript API v3 ?中文页面:https://

Google Map API V3开发(6) 代码

<html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Google Maps API V3 Demo</title> <script type="text/javascript" src='http://maps.googleapis.com/maps/api/js?v=3&sensor=tru

Google Map API V3开发(5)

11 库 ?  AdSense Library ?  绘图库 ?  几何图形库 ?  Panoramio 图层(库) ?  地方信息库 ?  天气和云况图层(库) 几何图形库 Google Maps JavaScript API V3 几何图形库提供了一些实用程序函数,以便计算地球表面的几何数据.该库包含以下三个命名空间: spherical,其中包含球面几何图形实用程序,可用于通过纬度和经度计算角度.距离和面积. encoding,其中包含一些实用程序,可用于根据编码折线算法对折线路径进行编码

Google Map API V3开发(4)

9 图层 Maps API 包含以下几种图层: KmlLayer 对象,用于在 Maps API V3 图块叠加层中呈现 KML 和 GeoRSS 元素. HeatmapLayer 对象,使用热图可视化技术来呈现地理数据. FusionTablesLayer 对象,用于呈现 Google Fusion Tables 中包含的数据. TrafficLayer 对象,用于呈现描述路况情况的图层和表示路况的叠加层. TransitLayer 对象,用于在地图上显示您所在城市的公交网络. Weather

Google Map API V3开发(3)

6 Google Maps 事件 每个 Maps API 对象均可导出大量已命名的事件.如果程序想要实现某些事件,则会为这些事件注册 Javascript 事件监听器,并在 google.maps.event 命名空间中注册addListener() 事件处理程序,以便在接收这些事件后执行相应代码. google.maps.Marker 对象可以监听一些用户事件,例如: 'click' 'dblclick' 'mouseup' 'mousedown' 'mouseover' 'mouseout‘

google map api v3

<!DOCTYPE html> <html> <head> <script type="text/javascript"> function killerrors() { return true; } window.onerror = killerrors; </script> <meta name="viewport" content="initial-scale=1.0, user-sc

Google Map API V3调用arcgis发布的瓦片地图服务

由于最近项目需要用到CAD制作的地图,但之前一直使用的是用谷歌离线瓦片地图的方式,怎么样把CAD图像地图一样有缩放,移动的功能放到网页显示成了难题, 原先的谷歌地图的代码难道就不能用了?重新写一套代码得多久呢,得花多少时间精力呢? 于是开始尝试了N种方法,最后找的可能算是最好的方法可以沿用现有的代码,方法是:首先要用ARCGIS软件,把CAD图转化为mxd文件(当然其中各种困难就不提了,而且转换后的效果不一定能和CAD完全一样), 最后请教的是学地理信息系统专业的朋友才搞定的.其次把mxd发布成

开发Android Map程序 如何获取 apikey (Google Map API v2)

1. 在Eclise --> preference --> android --> bulid 能够看到缺省的debug keystore:注意,最新版本的Android Eclipse中无需再自己产生MD5 和 SHA1 2. 登录Google网站账户后转到如下网址 https://console.developers.google.com/project/apps~soft-edu/apiui/api?authuser=0:在该页面中点击APIs然后将Google Maps Andr

Google 地图 API V3 针对移动设备进行开发

针对移动设备进行开发 Google Maps API v3 旨在实现快速加载,并可在移动设备上稳定运行.尤其是,我们已专注于针对 Android 和 iOS 手机等先进的移动设备进行开发.与桌面计算机上的传统浏览器相比,移动设备的屏幕较小.而且,移动设备通常具备独有的特定行为(例如“双指张合缩放”).如果您想让自己的应用在移动设备上稳定运行,建议您执行以下操作: 将包含您地图的 <div> 的宽度属性和高度属性都设为 100%.不过请注意,在一些旧版的桌面浏览器上使用这些值无法获得良好的显示效