jquery与google map api结合使用 控件,监听器


Posted in Javascript onMarch 04, 2010

Google Maps JavaScript. API可以让您在自己的网页上使用Google地图.在使用API之前,您应该先申请一
个API key,申请API key请到:http://code.google.com/apis/maps/signup.html。这里假设你获取到的key是:ABQIAA。
关于jquery的获取不再此处累赘,网上有许多关于jquery的介绍。
接着我们就使用JQuery和Google Maps JavaScript. API来结合表现一下google map的有趣的地图效果,进而达到熟悉Google Maps JavaScript. API的目标。
先来个HelloChina:
(1)在html文件中编写html代码:
map.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta. http-equiv="content-type" content="text/html; charset=utf-8"/> 
<title>Google Maps 与 JQuery结合使用</title> 
<script. src="http://maps.google.com/maps?file=api&v=2&key=ABQIAA" type="text/javascript"></script> 
<script. type="text/javascript" src="jquery.js"></script> 
<script. type="text/javascript" src="map.js"></script> 
</head> 
<body> 
<div id="map" style="top:100px;left:300px;width: 600px; height: 400px"></div> 
<div id="message"></div> 
</body> 
</html>

(2)在js文件中编写js代码
map.js
$(document).ready(function() 
{ 
//检查浏览器兼容性 
if (GBrowserIsCompatible()) { 
var map = new GMap2(document.getElementById("map")); 
map.setCenter(new GLatLng(36.94, 106.08), 4);//中国的经纬度以及地方放大倍数 
map.setMapType(G_SATELLITE_MAP); 
//document卸载时触发 
$(window).unload(function (){ 
$('.').unbind(); 
GUnload(); 
}); 
}else 
{ 
alert('你使用的浏览器不支持 Google Map!'); 
} 
});

(3)在地址栏输入页面对应的地址(确定key是和你输入地址或域名匹配的),查看效果图,可以看到中国位于地图的中央。
HolloChina的效果图
地图的移动和变换
(1)修改javascript代码如下:
map.js
$(document).ready(function() 
{ 
if (GBrowserIsCompatible()) { 
var map = new GMap2(document.getElementById("map")); 
map.setCenter(new GLatLng(36.94, 106.08), 4); 
//4秒后移动 
window.setTimeout(function() { 
map.panTo(new GLatLng(35.746512259918504,78.90625)); 
}, 4000); 
$(window).unload(function (){ 
$('.').unbind(); 
GUnload(); 
}); 
}else 
{ 
alert('你使用的浏览器不支持 Google Map!'); 
} 
});

(2)输入对应的地址查看,等上4秒钟,就可以看到地图的中心移动到中国的西部(大概的位置):
地图中心移动到中国的西部
添加控件并修改地图类型
修改javascript代码如下:
map.js
$(document).ready(function() 
{ 
if (GBrowserIsCompatible()) { 
var map = new GMap2(document.getElementById("map")); 
//小型伸缩控制器 
map.addControl(new GSmallMapControl()); 
//地图类型控制器 
map.addControl(new GMapTypeControl()); 
map.setCenter(new GLatLng(36.94,106.08),4); 
//将地图设置为卫星地图 
map.setMapType(G_SATELLITE_MAP);//修改地图类型 
$(window).unload(function (){ 
$('.').unbind(); 
GUnload(); 
}); 
}else 
{ 
alert('你使用的浏览器不支持 Google Map!'); 
} 
});

刷新页面,看到的效果是卫星地图的左上角有一个小的伸缩控件,右上角是地图选择的控件
加入控件后的效果图
添加事件监听器并开启滚轮伸缩效果
修改javascript代码:
map.js
$(document).ready(function() 
{ 
if (GBrowserIsCompatible()) { 
var map = new GMap2(document.getElementById("map")); 
map.addControl(new GSmallMapControl()); 
map.addControl(new GMapTypeControl()); 
//开启滚轮伸缩效果--鼠标滚轮向前滚放大地图,反之缩小 
map.enableScrollWheelZoom(); 
//添加moveend事件监听器 
GEvent.addListener(map, "moveend", function() { 
var center = map.getCenter(); 
//在这个DIV中显示地图中心的经纬度 
$('#message').text(center.toString()); 
}); 
map.setCenter(new GLatLng(36.94,106.08),4); 
$(window).unload(function (){ 
$('.').unbind(); 
GUnload(); 
}); 
}else 
{ 
alert('你使用的浏览器不支持 Google Map!'); 
} 
});

此时的地图在滚动滚轮的时候会发生伸缩,而拖动完地图后,地图左侧的坐标信息会跟着变。
Javascript 相关文章推荐
jquery.Jwin.js 基于jquery的弹出层插件代码
May 23 Javascript
jQuery中(function(){})()执行顺序的理解
Mar 05 Javascript
jquery实现页面虚拟键盘特效
Aug 08 Javascript
Jquery 效果使用详解
Nov 23 Javascript
dedecms页面如何获取会员状态的实例代码
Mar 15 Javascript
jQuery Validate让普通按钮触发表单验证的方法
Dec 15 Javascript
js querySelector() 使用方法
Dec 21 Javascript
js实现4个方向滚动的球
Mar 06 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
react-intl实现React国际化多语言的方法
Sep 27 Javascript
node使用async_hooks模块进行请求追踪
Jan 28 Javascript
jquery 打开窗口返回值实现代码
Mar 04 #Javascript
jQuery入门知识简介
Mar 04 #Javascript
jQuery 获取URL参数的插件
Mar 04 #Javascript
老鱼 浅谈javascript面向对象编程
Mar 04 #Javascript
javascript实现的像java、c#之类的sleep暂停的函数代码
Mar 04 #Javascript
ExtJs之带图片的下拉列表框插件
Mar 04 #Javascript
JavaScript replace(rgExp,fn)正则替换的用法
Mar 04 #Javascript
You might like
不错的一篇面向对象的PHP开发模式(简写版)
2007/03/15 PHP
php 实现一个字符串加密解密的函数实例代码
2016/11/01 PHP
jQuery 判断元素上是否绑定了事件
2009/10/28 Javascript
javascript下4个跨浏览器必备的函数
2010/03/07 Javascript
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
JavaScript中的this关键字介绍与使用实例
2013/06/21 Javascript
防止登录页面出现在frame中js代码
2014/07/22 Javascript
Jquery实现鼠标移动放大图片功能实例
2015/03/25 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
AngularJS 控制器 controller的详解
2017/10/17 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
2020/03/06 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python中数字以及算数运算符的相关使用
2015/10/12 Python
Python中进程和线程的区别详解
2017/10/29 Python
Python使用pickle模块存储数据报错解决示例代码
2018/01/26 Python
Python爬虫实战:分析《战狼2》豆瓣影评
2018/03/26 Python
使用pandas read_table读取csv文件的方法
2018/07/04 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
Django CBV与FBV原理及实例详解
2019/08/12 Python
python dataframe NaN处理方式
2019/12/26 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
Python eval函数原理及用法解析
2020/11/14 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
测试工程师职业规划书
2014/02/06 职场文书
领导调研接待方案
2014/02/27 职场文书
银行青年文明号事迹材料
2014/05/31 职场文书
领导欢迎词范文
2015/01/26 职场文书
资料员岗位职责范本
2015/04/13 职场文书
铁人纪念馆观后感
2015/06/16 职场文书
2016大学生社会实践单位评语
2015/12/01 职场文书
详解JS WebSocket断开原因和心跳机制
2021/05/07 Javascript