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 相关文章推荐
节点的插入之append()和appendTo()的用法介绍
Jan 13 Javascript
jQuery中noconflict函数的实现原理分解
Feb 03 Javascript
JS实现样式清新的横排下拉菜单效果
Oct 09 Javascript
基于jQuery实现文本框只能输入数字(小数、整数)
Jan 14 Javascript
jQuery根据表单name获取值的方法
May 24 Javascript
JS封装的自动创建表格的实现代码
Jun 15 Javascript
jQuery过滤选择器用法示例
Sep 12 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
JS自定义函数实现时间戳转换成date的方法示例
Aug 27 Javascript
基于react后端渲染模板引擎noox发布使用
Jan 11 Javascript
零基础之Node.js搭建API服务器的详解
Mar 08 Javascript
关于layui表单中按钮自动提交的解决方法
Sep 09 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数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
Laravel+jQuery实现AJAX分页效果
2016/09/14 PHP
js 手机号码合法性验证代码集合
2012/09/29 Javascript
javascript测试题练习代码
2012/10/10 Javascript
JavaScript实现两个Table固定表头根据页面大小自行调整
2014/01/03 Javascript
jQuery不使用插件及swf实现无刷新文件上传
2014/12/08 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
2016/05/17 Javascript
微信小程序 详解Page中data数据操作和函数调用
2017/01/12 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
vue获取input输入值的问题解决办法
2017/10/17 Javascript
JS实现的缓冲运动效果示例
2018/04/30 Javascript
jQuery插件实现弹性运动完整示例
2018/07/07 jQuery
vue1.0和vue2.0的watch监听事件写法详解
2018/09/11 Javascript
JS判断用户用的哪个浏览器实例详解
2018/10/09 Javascript
详解ES6系列之私有变量的实现
2018/11/21 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
详解在Python程序中使用Cookie的教程
2015/04/30 Python
利用Python开发微信支付的注意事项
2016/08/19 Python
如何用itertools解决无序排列组合的问题
2017/05/18 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
将string类型的数据类型转换为spark rdd时报错的解决方法
2019/02/18 Python
详解Python给照片换底色(蓝底换红底)
2019/03/22 Python
Python3.5装饰器原理及应用实例详解
2019/04/30 Python
python用match()函数爬数据方法详解
2019/07/23 Python
python从PDF中提取数据的示例
2020/10/30 Python
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
PHP面试题及答案二
2015/05/23 面试题
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
实习教师自我鉴定
2013/09/27 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
学校教师安全责任书
2014/07/23 职场文书
旅游局领导班子“四风”问题对照检查材料思想汇报
2014/09/29 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
信息技术研修心得体会
2016/01/08 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
windows11选中自动复制怎么开启? Win11自动复制所选内容的方法
2022/07/23 数码科技