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 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
js 有框架页面跳转(target)三种情况下的应用
Apr 09 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
javascript实现简单的贪吃蛇游戏
Mar 31 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
js 获取站点应用名的简单实例
Aug 18 Javascript
canvas 绘制圆形时钟
Feb 22 Javascript
Vue computed计算属性的使用方法
Jul 14 Javascript
深入浅析vue-cli@3.0 使用及配置说明
May 08 Javascript
在Vue中用canvas实现二维码和图片合成海报的方法
Jun 10 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 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 程序员也要学会使用“异常”
2009/06/16 PHP
php模拟post提交数据的方法
2015/02/12 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
php+mysql实现简单的增删改查功能
2015/07/13 PHP
PHP微信开发之微信消息自动回复下所遇到的坑
2016/05/09 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
Package.js  现代化的JavaScript项目make工具
2012/05/23 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
js设置控件的隐藏与显示的两种方法
2014/08/21 Javascript
《JavaScript DOM 编程艺术》读书笔记之DOM基础
2015/01/09 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JavaScript中windows.open()、windows.close()方法详解
2016/07/28 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
jQuery表单选择器用法详解
2019/08/22 jQuery
echarts饼图各个板块之间的空隙如何实现
2020/12/01 Javascript
python删除某个字符
2018/03/19 Python
python实现动态创建类的方法分析
2019/06/25 Python
Python PO设计模式的具体使用
2019/08/16 Python
python 实现绘制整齐的表格
2019/11/18 Python
Python json读写方式和字典相互转化
2020/04/18 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
python 邮件检测工具mmpi的使用
2021/01/04 Python
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
上海奥佳笔试题面试题
2016/11/16 面试题
国际贸易专业推荐信
2013/11/15 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
大学奖学金获奖感言
2014/08/15 职场文书
地下停车场租赁协议范本
2014/10/07 职场文书
公司租房协议书范本
2014/10/08 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
Redis中一个String类型引发的惨案
2021/07/25 Redis
分享3个非常实用的 Python 模块
2022/03/03 Python