`
linvar
  • 浏览: 254604 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

google v2 map 笔记

阅读更多
任何 Google 地图 API 应用程序中的基础元素都是“地图”本身,也就是GMap2基础对象
1.加载google地图API
<script src="http://ditu.google.cn/maps?file=api&v=2&key=abcdefg&sensor=true_or_false"
        type="text/javascript">
</script>

2.GMap2 - 基本对象
GMap2 类是表示地图的 JavaScript 类。此类的对象在页面上定义单个地图
var map = new GMap2(document.getElementById("map_canvas"));
初始化地图
map.setCenter(new GLatLng(39.9493, 116.3975), 13);
通过 GMap2 构造函数创建地图后,我们需要再做一件事:将其初始化。初始化通过地图的 setCenter() 方法完成。setCenter() 方法要求有 GLatLng 坐标和缩放级别,而且必须先发送此方法,然后再在地图上执行其他任何操作,包括设置地图本身的其他任何属性.

3.经度和纬度
GLatLng 对象表示地图上的位置(纬度,经度)
var ll = new GLatLng(lat,lng);

4.信息窗口
GInfoWindow 对象没有构造函数。当创建地图时,会自动创建一个信息窗口并将其附加到地图上。对于指定的地图,一次不能显示多个信息窗口,但可以移动信息窗口并可以更改其内容(如果需要)
GMap2 对象提供了 openInfoWindow() 方法,该方法将一个点和一个 HTML DOM 元素作为参数

5.地图事件监听器GEvent
每个地图 API 对象都导出大量已命名的事件
注册用来获取这些事件的相关通知的监听器,请使用静态方法 GEvent.addListener()
该方法有三个参数,一个对象,一个待监听事件以及一个在指定事件发生时调用的函数
例如
var myEventListener = GEvent.addListener(map, "click", function() {
  alert("您点击了地图。");
});

6.删除事件监听器
addListener()、addDomListener()、bind() 和 bindDom() 函数会返回 GEventListener 句柄,可用来最终取消注册处理程序
GEvent.removeListener(myEventListener);

7.控件
地图 API 带有大量可以在地图中使用的内置控件:
    *  GLargeMapControl - 一个在 Google 地图上使用的大平移/缩放控件。默认情况下显示在地图的左上角。
    * GSmallMapControl - 一个在 Google 地图上使用的小一点的平移/缩放控件。默认情况下显示在地图的左上角。
    * GSmallZoomControl - 小型缩放控件(无平移控件),用于在 Google 地图上显示行车路线的小地图弹出窗口。
    * GScaleControl - 地图比例尺
    * GMapTypeControl - 让用户切换地图类型(例如“地图”和“卫星”)的按钮
    * GHierarchicalMapTypeControl - 用于放置多个地图类型选择器的一组精选的嵌套按钮和菜单项。
    * GOverviewMapControl - 位于屏幕一角的可折叠概览地图。

所有这些控件都基于 GControl 对象
向地图添加控件
可以使用 GMap2 方法 addControl() 向地图添加控件
自定义地图控件
Google 地图 API 还允许您通过子类化 GControl 来创建自定义地图控件
在该类中定义的至少两个方法:initialize() 和 getDefaultPosition()。initialize() 方法必须返回 DOM 元素,而 getDefaultPosition() 方法必须返回类型为 GControlPosition 的对象
// We define the function first
function TextualZoomControl() {
}

// To "subclass" the GControl, we set the prototype object to
// an instance of the GControl object
TextualZoomControl.prototype = new GControl();
TextualZoomControl.prototype.initialize = function(map) {
}
TextualZoomControl.prototype.getDefaultPosition = function() {
  return new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(7, 7));
}

8.地图叠加层
叠加层是地图上绑定到经度/纬度坐标的对象,会随您拖动或缩放地图而移动。叠加层用于反映您“添加”到地图上以指明点、线或区域的对象

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics