Google Map API V3开发(3)
6 Google Maps 事件
每个 Maps API 对象均可导出大量已命名的事件。如果程序想要实现某些事件,则会为这些事件注册 Javascript 事件监听器,并在 google.maps.event 命名空间中注册addListener() 事件处理程序,以便在接收这些事件后执行相应代码。
google.maps.Marker 对象可以监听一些用户事件,例如:
'click'
'dblclick'
'mouseup'
'mousedown'
'mouseover'
'mouseout‘
使用方法:
Var listener = google.maps.event.addListener(marker, ‘click’, function())
google.maps.event.removeListener(listener)
监听 DOM 事件
Google Maps JavaScript API 事件模型会自行创建并管理自定义事件。不过,浏览器内的DOM(文档对象模型)也会根据所使用的特定浏览器事件模型自行创建并分派事件。如果您想要捕获并响应这些事件,可以使用 Maps API 提供的 addDomListener() 静态方法来监听并绑定到这些 DOM 事件。
google.maps.event.addDomListener(window, 'load', initialize);
代替:
<body onload="initialize()">
<div id="map_canvas"></div>
</body>
7 控件
Maps API 带有一部分可在地图中使用的内置控件:
? 缩放控件,显示滑块(针对大地图)或“+/-”小按钮(针对小地图),用于控制地图的缩放等级。在非触摸的设备上,该控件默认显示在地图的左上角,而在触摸设备上则显示在左下角。
? 平移控件,显示用于平移地图的按钮。在非触摸的设备上,该控件默认显示在地图的左上角。您还可以使用平移控件对图像进行 45° 旋转
? 比例控件,用于显示地图比例元素。默认情况下,系统不会启用此控件。
? MapType 控件,可让用户在不同的地图类型(例如 ROADMAP 和 SATELLITE)之间进行切换。该控件默认显示在地图的右上角。
? 街景视图控件包含一个街景小人图标,将该图标拖动到地图上即可启用街景视图。该控件默认显示在地图的左上角。
? 旋转控件包含一个较小的圆形图标,可让您旋转包含斜面图像的地图。该控件默认显示在地图的左上角。
? 总览图控件会显示一个简略的总览图,用于在更广阔区域内反映当前的地图视口。该控件默认以折叠状态显示在地图的右下角。
8 叠加层
叠加层是地图上与纬度/经度坐标绑定的对象,会随您拖动或缩放地图而移动。叠加层表示的是“添加”到地图中以标明点、线、区域或对象集合的对象
Maps API 包含以下几种叠加层:
? 地图上的单个位置是使用标记显示的。标记有时可显示自定义的图标图片,这种情况下标记通常被称为“图标”。标记和图标是 Marker 类型的对象。
? 地图上的线是使用折线(表示一系列按顺序排列的位置)显示的。线是 Polyline 类型的对象。
? 地图上的不规则形状区域是使用多边形(类似于折线)显示的。与折线相同的是,多边形也是由一系列按顺序排列的位置构成的;不同的是,多边形定义的是封闭区域。
? 地图图层可使用叠加层地图类型显示。您可以通过创建自定义地图类型来创建自己的图块集,自定义地图类型可取代基本地图图块集,或作为叠加层显示在现有基本地图图块集之上。
? 信息窗口也是特殊类型的叠加层,用于在指定地图位置上方的弹出式气泡框内显示内容(通常是文字或图片)。
? 您还可以实现自己的自定义叠加层。这些自定义叠加层可实现 OverlayView 接口。
绘图库
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript" src='http://maps.googleapis.com/maps/api/js?v=3&sensor=true&language=hk&libraries=drawing'></script>
<script type="text/javascript">
function initialize() {
var myOptions = {
zoom: 4,
center: new google.maps.LatLng(33.174342, 116.147461),
mapTypeId: google.maps.MapTypeId.ROADMAP,
scaleControl: true,
scaleControlOptions: {
position: google.maps.ControlPosition.LEFT_BOTTOM
}
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
var drawingManager = new google.maps.drawing.DrawingManager({
drawingControl: true,
drawingControlOptions: {
position: google.maps.ControlPosition.TOP_CENTER,
drawingModes: [
google.maps.drawing.OverlayType.MARKER,
google.maps.drawing.OverlayType.CIRCLE,
google.maps.drawing.OverlayType.POLYGON,
google.maps.drawing.OverlayType.POLYLINE,
google.maps.drawing.OverlayType.RECTANGLE
]
},
markerOptions: {
icon: 'http://maps.google.com/mapfiles/marker_green.png'
},
circleOptions: {
fillColor: '#ffff00',
fillOpacity: 1,
strokeWeight: 5,
clickable: false,
editable: true,
zIndex: 1
}
});
drawingManager.setMap(map);
//var sPointArray = '';
//google.maps.event.addListener(drawingManager, 'polylinecomplete', function (polyline) {
//var latlngArray = (polyline.getPath().getArray());
//for (var i = 0; i < latlngArray.length; i++) {
// var point = latlngArray[i];
// if (sPointArray == '') {
// sPointArray = parseFloat(Number(point.lat())).toFixed(4) + "," + parseFloat(Number(point.lng())).toFixed(4);
//} //四位小数足够了
//else {
// sPointArray = sPointArray + ";" + parseFloat(Number(point.lat())).toFixed(4) + "," + parseFloat(Number(point.lng())).toFixed(4);
//}
// }
//alert(sPointArray);
//});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
<title></title>
</head>
<body>
<div class="container">
<form id="form1" action="" class="form-horizontal" role="form" runat="server">
<div id="map_canvas" style="width: 800px; height: 480px; margin-top:15px;"></div>
</form>
</body>
</div>
</html>
Google Map API V3开发(3)的更多相关文章
- Google Map API V3开发(1)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(2)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(4)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(5)
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google Map API V3开发(6) 代码
Google Map API V3开发(1) Google Map API V3开发(2) Google Map API V3开发(3) Google Map API V3开发(4) Google M ...
- Google map API V3
本文主要总结Google map API V3使用中最简单也是最常见的一些操作以及相关概念,如果需要更加详细的信息,请直接阅读Google提供的关于map的文档. google map api v3文 ...
- Google Map API V3调用arcgis发布的瓦片地图服务
由于最近项目需要用到CAD制作的地图,但之前一直使用的是用谷歌离线瓦片地图的方式,怎么样把CAD图像地图一样有缩放,移动的功能放到网页显示成了难题, 原先的谷歌地图的代码难道就不能用了?重新写一套代码 ...
- Google 地图 API V3 针对移动设备进行开发
Google官方教程: Google 地图 API V3 使用入门 Google 地图 API V3 针对移动设备进行开发 Google 地图 API V3 之事件 Google 地图 API V3 ...
- 如何使用Google Map API开发Android地图应用
两年前开发过的GoogleMap已经大变样,最近有项目要用到GoogleMap,重新来配置Android GoogleMap开发环境,还真是踩了不少坑. 一.下载Android SDK Manager ...
随机推荐
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理3
首先在webconfig中加入下面这句代码,这个主要是用来生成数据库的连接字符串 <connectionStrings> <add name="AuthorDesignCo ...
- Java环境变量的配置
1.JAVA_HOMEjdk的路径,我的是安装在C:\Program Files (x86)\Java\jdk1.6.0_182.CLASSPATH .;%JAVA_HOME%\lib\dt.jar; ...
- 【转】详细分析Java中断机制
原文地址:http://www.infoq.com/cn/articles/java-interrupt-mechanism 1. 引言 当我们点击某个杀毒软件的取消按钮来停止查杀病毒时,当我们在控制 ...
- Linux indent
一.简介 indent可辨识C的原始代码文件,并加以格式化,以方便程序设计师阅读. 二.选项 http://www.runoob.com/linux/linux-comm-indent.html 三. ...
- 阅读Real-Time O(1) Bilateral Filtering 一文的相关感受。
研究双边滤波有很长一段时间了,最近看了一篇Real-Time O(1) Bilateral Filtering的论文,标题很吸引人,就研读了一番,经过几天的攻读,基本已理解其思想,现将这一过程做一简单 ...
- POJ1703Find them, Catch them[种类并查集]
Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 42416 Accepted: ...
- mysqli_fetch_assoc php的新的库函数
注释:mysql_fetch_assoc() 函数 定义和用法mysql_fetch_assoc() 函数从结果集中取得一行作为关联数组. 返回根据从结果集取得的行生成的关联数组,如果没有更多行,则返 ...
- 使用axis2 soapmonitor监控soap数据
Using the SOAP Monitor SOAPMonitor使用 使用SOAPMonitor axis2开发笔记-消息监控 WebService大讲堂之Axis2(10):使用soapmoni ...
- Jquery DIV滚动至浏览器顶部位置固定
获取元素(这里定位元素A)距离顶部的高度,接着设定scroll滚动的事件,比如超过那个高度,把A的位置设定为fixed,小于该高度,修改回relative. 方法一: $(function() { v ...
- 仿原生app,native特效
为解决手机端wap项目中页面跳转响应慢的问题,基于jquery开发了fr.routeApp.js,使得wap项目拥有原生app的流畅,跳转时亦有native的特效 html部分 <!--定义容器 ...