`
houfeng0923
  • 浏览: 144830 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Google Maps API V3 学习摘要

阅读更多

 

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的方法。

 

    

 

1
0
分享到:
评论

相关推荐

    Google Maps API V3 中文参考文档(JavaScript)

    Google Maps API V3 中文参考文档(JavaScript) Google Maps API V3 是 Google Maps 提供的一款强大的地图应用程序接口,允许开发者在网站或应用程序中轻松嵌入谷歌地图。该 API 的 JavaScript 版本提供了丰富的...

    Google_Maps_API_V3.rar_Google Maps api v3_谷歌地图

    学习和掌握Google Maps API V3,需要对JavaScript有一定的了解,同时,理解地理坐标系统和网络请求机制也是必要的。在实际项目中,还需要考虑API调用限制和性能优化,以及如何结合后端数据来实现更复杂的功能。总的...

    Google Maps API v3 (3.16.2) 离线开发包

    **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 Maps API V3是Google提供的一项强大服务,允许开发者在自己的网页上嵌入交互式地图,实现丰富的地理位置应用功能。这个API版本着重优化了性能,降低了对...

    Google Maps API v3 (3.16.2) 离线开发包_140326

    **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 开发必备知识点 #### 一、概览 Google Maps API V3 是一个强大的工具,允许开发者将交互式的谷歌地图嵌入到网页应用中。它提供了丰富的功能,包括自定义地图样式、添加标记、路线规划等。...

    GoogleMaps API V3离线下载工具及使用.zip

    "GoogleMaps API V3离线下载工具及使用.zip"文件包含了一个能够帮助用户在离线环境下使用Google Maps API V3的工具和相关资源。 1. **离线地图下载**:在互联网连接不可用或不稳定的情况下,离线地图下载工具显得尤...

    GOOGLE MAPS API V3

    Google Maps JavaScript API V3 是一个强大的工具,允许开发者在网页上集成谷歌地图的功能,提供丰富的交互式地图体验。这个API版本带来了许多改进和新特性,使得开发更加高效和灵活。以下是对主要知识点的详细说明...

    Google Maps API V3 Examples 官方示例打包

    通过这些官方示例,开发者不仅可以了解Google Maps API V3的基本用法,还能学习到如何处理高级功能,如自定义地图样式、路线规划、覆盖物操作、地理编码和海拔查询等。这些示例代码是很好的学习材料,有助于快速掌握...

    Google Maps Javascript API V3开发包

    Google Maps Javascript API V3 Reference 适用于页面调用谷歌地图,弹出窗口等功能

    [免费]Google Maps JavaScript API V3中文版参考手册.rar

    **Google Maps JavaScript API V3中文版参考手册** Google Maps JavaScript API V3是Google提供的一套用于在网页上集成和操作地图的JavaScript库。这个API允许开发者利用JavaScript编程语言,为网站构建高度定制化...

    Google Maps API v3离线开发包,带本地地图示例数据

    Google Maps API v3离线开发包,带本地地图示例数据 需要特别说明的是: 1、本离线开发包内仅实现了功能离线,即js源码和部分控件图片的离线,地图仍然使用Google Tile。 2、从思路上讲,将Google Tile下载到本地...

    Google Maps JavaScript API V3 详细教程

    《Google Maps JavaScript API V3 详细教程》 Google Maps JavaScript API V3 是一款强大的工具,允许开发者在网页中集成互动式地图,为用户提供丰富的地理位置体验。API 的第三版相较于第二版进行了更新和优化,...

    Google Maps API V3 中文参考手册

    Google Maps JavaScript API V3 中文参考手册,详细解说每个函数的功能。

    Google_Maps_JavaScript_API_V3_教程

    ### Google Maps JavaScript API V3 教程 #### 引言 Google Maps JavaScript API V3 是一个功能强大且灵活的地图服务接口,允许开发者轻松地将交互式地图集成到他们的网站或应用中。相比于之前的版本,V3 提供了更...

    谷歌地图Google Map API V3中文开发文档

    一、Google Maps JavaScript API V3 谷歌地图 Google Map API V3 是一个基于 JavaScript 的 API,允许开发者在自己的网站或应用程序中嵌入谷歌地图。该 API 提供了一个强大的地图引擎,支持多种类型的地图、标记、...

    [免费]Google_Maps_API_V3_中文参考文档.rar

    Google Maps API V3是Google提供的一套用于在网页上嵌入地图、进行地理位置处理的JavaScript接口。这个中文参考文档包含了详细的API使用指南和技术说明,帮助开发者更好地理解和利用这个强大的工具。下面将对其中的...

    google map api v3源码

    这个源码可能是谷歌地图API V3的一个示例项目,不含任何特定的API密钥,因此可以作为学习和参考的基础。 在使用谷歌地图API V3时,开发者需要注意以下关键知识点: 1. **初始化地图**: 在HTML页面中引入Google ...

    The Google Maps Javascript API V3.doc

    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, ...

Global site tag (gtag.js) - Google Analytics