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 相关文章推荐
Extjs学习笔记之六 面版
Jan 08 Javascript
Tips 带三角可关闭的文字提示
Oct 06 Javascript
基于jquery的finkyUI插件与Ajax实现页面数据加载功能
Dec 03 Javascript
Jquery中获取iframe的代码
Jan 11 Javascript
Jquery跨域获得Json时invalid label错误的解决办法
Jan 11 Javascript
9行javascript代码获取QQ群成员具体实现
Oct 16 Javascript
基于jQuery全屏焦点图左右切换插件responsiveslides
Sep 07 Javascript
Js操作DOM元素及获取浏览器高宽的简单方法
Sep 08 Javascript
在网页中插入百度地图的步骤详解
Dec 02 Javascript
JS实现520 表白简单代码
May 21 Javascript
JS实现打字游戏
Dec 17 Javascript
js实现旋转木马轮播图效果
Jan 10 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中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
php json中文编码为null的解决办法
2016/12/14 PHP
php+mysql+ajax 局部刷新点赞/取消点赞功能(每个账号只点赞一次)
2020/07/24 PHP
JavaScript建立一个语法高亮输入框实现思路
2013/02/26 Javascript
使用js对select动态添加和删除OPTION示例代码
2013/08/12 Javascript
jQuery实现冻结表头的方法
2015/03/09 Javascript
javascript中的正则表达式使用详解
2015/08/30 Javascript
移动手机APP手指滑动切换图片特效附源码下载
2015/11/30 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
javascript实现任务栏消息提示的简单实例
2016/05/31 Javascript
webpack项目轻松混用css module的方法
2018/06/12 Javascript
基于Nodejs的Tcp封包和解包的理解
2018/09/19 NodeJs
Vue中使用canvas方法总结
2019/02/12 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
详解js中的几种常用设计模式
2020/07/16 Javascript
JavaScript实现无限轮播效果
2020/11/19 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
python 中文字符串的处理实现代码
2009/10/25 Python
简单上手Python中装饰器的使用
2015/07/12 Python
Python简单遍历字典及删除元素的方法
2016/09/18 Python
Python中装饰器学习总结
2018/02/10 Python
简单了解python 生成器 列表推导式 生成器表达式
2019/08/22 Python
CSS3动画之流彩文字效果+图片模糊效果+边框伸展效果实现代码合集
2017/08/18 HTML / CSS
css3 clip实现圆环进度条的示例代码
2018/02/07 HTML / CSS
SHEIN香港:价格实惠的女性时尚服装
2018/08/14 全球购物
Coggles美国/加拿大:高级国际时装零售商
2018/10/23 全球购物
一些Solaris面试题
2013/03/22 面试题
自我评价的范文
2014/02/02 职场文书
《会变的花树叶》教学反思
2014/02/10 职场文书
科技活动周标语
2014/10/08 职场文书
护士先进个人总结
2015/02/13 职场文书
2016年习总书记讲话学习心得体会
2016/01/20 职场文书
一年级下册数学教学反思
2016/02/16 职场文书