Google Maps API V3 学习摘要
年前项目需要顺便学习了下Google Maps API ,相比先前的V2版本的确在结构上进行了一次较大的调整。类的职责和功能划分更加地清晰,耦合关系也越来越低,更显著的变化是实现了前端MVC分层,便于开发人员编写出结构清晰、职责分明的代码。下面是学习过程中对知识点的一点记录,不成文章。
添加地图类型MapType
map.mapTypes.set(mapTypeId,mapType)
map. mapTypeControlOptions.mapTypeIds.push( mapTypeId );
添加、删除地图叠加层
map.overlayMapTypes.insertAt(index,mapType)
map.overlayMapTypes.removeAt(index)
叠加层
http://code.google.com/intl/zh-CN/apis/maps/documentation/javascript/overlays.html#SubClassing
图层概念
图层是地图上的对象,包含一个活多个叠加层。使用只需new一个图层对象,调用setMap()添加。
KmlLayer 渲染 KML 和 GeoRSS 元素。
BicyclingLayer
TrafficLayer
KmlLayer:
KML Placemark 和 GeoRSS point 元素渲染为 Marker,而折线和多边形渲染为 Google Maps API Polyline 和 Polygon 对象。
同样,KML 文件中的 <GroundOverlay> 元素渲染为地图上的 GroundOverlay 元素。
KmlLayer 对象通过自动检索地图指定边界的相应地图项,控制这些子叠加层的显示。随着边界的变化,当前可视区域中的地图项会自动渲染。
注:kml图层服务依赖google服务器,提交kml链接后,服务器获取kml并处理,根据客户端请求区域和级别返回对应的渲染图片。
自定义叠加层
1, google.maps.GroundOverlay 简单的将一张图片叠加到地图上。只需制定url和边界。
new google.maps.GroundOverlay( "http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg", imageBounds);
2,OverlayView基类。通过实现其子类,可以自定义叠加层对象。
提供了您在创建叠加层时必须实现的若干方法。
该类还提供了一些方法,用于实现屏幕坐标和地图位置之间的转换。
要创建自定义叠加层,请执行以下操作:
将自定义对象的 prototype 设置为 google.maps.OverlayView() 的新实例。这可以有效地实现叠加层类的“子类化”。
为自定义叠加层创建构造函数,并将该构造函数中的所有初始化参数都设置为自定义属性。
在原型中实现 onAdd() 方法,以将叠加层附加到地图上。当地图准备好附加叠加层后,系统将会调用 OverlayView.onAdd()。
在原型中实现 draw() 方法,以处理对象的视觉显示。同样,在对象首次显示后,系统将会调用 OverlayView.draw()。
您还应当实现 onRemove() 方法,以清理在叠加层中添加的所有元素。
MapType接口
实现自定义地图类型,需要定义MapType接口规范的一些属性外,需要实现getTile()方法和releaseTile()[可选]方法。
ImageMapType类提供了某些内置行为以简化图像 MapType 的创建过程。
需要定义同样的属性外,需要实现getTileUrl()方法
采用此方法实现的自定义地图类型,既可以作为地图类型单独使用;也可以作为叠加层与其他地图类型结合使用;
作为基础图层:
mapTypeControlOptions:{mapTypeIds:['hfLayer',google.maps.MapTypeId.ROADMAP]}//或者 mapTypeControlOptions.mapTypeIds.push(key);
map.mapTypes.set('hfLayer',hfMapType);
切换图层:
map.setMapTypeId('hfLayer')//设置当前图层为hfLayer图层。也可在初始化map对象时候设置参数mapTypeId
作为叠加层:
map.overlayMapTypes.insertAt(index,mapType)
投影(projections)
在建立mapType时,需要重写maptypeConfig的projection属性(fromLatLngToPoint函数和fromPointToLatLng函数)。
详细的实现可以参考我的另一篇代码分享文章【YUI3学习(十)---基于组件框架Widget的实例(GoogleMapWidget) 】。
地图resize事件
当地图容器大小改变,特别是地图区域变大时,会造成部分显示区域无地图图片。这时可以在地图区域改变后调用以下方法触发地图的resize事件重绘地图。
google.maps.event.trigger(map, 'resize')
MVC
v3版本使用了mvc结构,定义mvcArray,所以在对地理要素(point、polyline、polygon等)做修改操作时,最好使用其提供的方法insertAt,removeAt等mvcArray数组方法。
而不要使用JS的 Array的方法。
相关推荐
Google Maps API V3 中文参考文档(JavaScript) Google Maps API V3 是 Google Maps 提供的一款强大的地图应用程序接口,允许开发者在网站或应用程序中轻松嵌入谷歌地图。该 API 的 JavaScript 版本提供了丰富的...
学习和掌握Google Maps API V3,需要对JavaScript有一定的了解,同时,理解地理坐标系统和网络请求机制也是必要的。在实际项目中,还需要考虑API调用限制和性能优化,以及如何结合后端数据来实现更复杂的功能。总的...
**Google Maps API v3 (3.16.2) 离线开发包** Google Maps API(应用程序编程接口)是Google提供的一项服务,允许开发者在自己的网页或应用中嵌入交互式地图。版本3,也称为V3,是Google Maps API的最新版本,它...
《深入探索Google Maps API V3:实践与案例分析》 Google Maps API V3是Google提供的一项强大服务,允许开发者在自己的网页上嵌入交互式地图,实现丰富的地理位置应用功能。这个API版本着重优化了性能,降低了对...
**Google Maps API v3 (3.16.2) 离线开发包_140326** Google Maps API v3是Google提供的一种用于在网页上集成地图功能的JavaScript库,允许开发者构建交互式地图应用。版本3.16.2是在2014年的一个稳定版本,为...
### Google Maps API V3 开发必备知识点 #### 一、概览 Google Maps API V3 是一个强大的工具,允许开发者将交互式的谷歌地图嵌入到网页应用中。它提供了丰富的功能,包括自定义地图样式、添加标记、路线规划等。...
"GoogleMaps API V3离线下载工具及使用.zip"文件包含了一个能够帮助用户在离线环境下使用Google Maps API V3的工具和相关资源。 1. **离线地图下载**:在互联网连接不可用或不稳定的情况下,离线地图下载工具显得尤...
Google Maps JavaScript API V3 是一个强大的工具,允许开发者在网页上集成谷歌地图的功能,提供丰富的交互式地图体验。这个API版本带来了许多改进和新特性,使得开发更加高效和灵活。以下是对主要知识点的详细说明...
通过这些官方示例,开发者不仅可以了解Google Maps API V3的基本用法,还能学习到如何处理高级功能,如自定义地图样式、路线规划、覆盖物操作、地理编码和海拔查询等。这些示例代码是很好的学习材料,有助于快速掌握...
Google Maps Javascript API V3 Reference 适用于页面调用谷歌地图,弹出窗口等功能
**Google Maps JavaScript API V3中文版参考手册** Google Maps JavaScript API V3是Google提供的一套用于在网页上集成和操作地图的JavaScript库。这个API允许开发者利用JavaScript编程语言,为网站构建高度定制化...
Google Maps API v3离线开发包,带本地地图示例数据 需要特别说明的是: 1、本离线开发包内仅实现了功能离线,即js源码和部分控件图片的离线,地图仍然使用Google Tile。 2、从思路上讲,将Google Tile下载到本地...
《Google Maps JavaScript API V3 详细教程》 Google Maps JavaScript API V3 是一款强大的工具,允许开发者在网页中集成互动式地图,为用户提供丰富的地理位置体验。API 的第三版相较于第二版进行了更新和优化,...
Google Maps JavaScript API V3 中文参考手册,详细解说每个函数的功能。
### Google Maps JavaScript API V3 教程 #### 引言 Google Maps JavaScript API V3 是一个功能强大且灵活的地图服务接口,允许开发者轻松地将交互式地图集成到他们的网站或应用中。相比于之前的版本,V3 提供了更...
一、Google Maps JavaScript API V3 谷歌地图 Google Map API V3 是一个基于 JavaScript 的 API,允许开发者在自己的网站或应用程序中嵌入谷歌地图。该 API 提供了一个强大的地图引擎,支持多种类型的地图、标记、...
Google Maps API V3是Google提供的一套用于在网页上嵌入地图、进行地理位置处理的JavaScript接口。这个中文参考文档包含了详细的API使用指南和技术说明,帮助开发者更好地理解和利用这个强大的工具。下面将对其中的...
这个源码可能是谷歌地图API V3的一个示例项目,不含任何特定的API密钥,因此可以作为学习和参考的基础。 在使用谷歌地图API V3时,开发者需要注意以下关键知识点: 1. **初始化地图**: 在HTML页面中引入Google ...
The Google Maps Javascript API V3 is primarily intended for web developers who wish to integrate interactive maps into their websites or web applications. It caters to a wide range of skill levels, ...