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 相关文章推荐
我的javascript 函数链之演变
Apr 07 Javascript
浅谈Javascript 执行顺序
Dec 18 Javascript
jQuery学习笔记之 Ajax操作篇(二) - 数据传递
Jun 23 Javascript
使用jquery+CSS实现控制打印样式
Dec 31 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
H5用户注册表单页 注册模态框!
Sep 17 Javascript
jQuery模拟实现的select点击选择效果【附demo源码下载】
Nov 09 Javascript
深入理解jquery中的each用法
Dec 14 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
Feb 12 Javascript
js实现简单的二级联动效果
Mar 09 Javascript
浅谈在vue项目中如何定义全局变量和全局函数
Oct 24 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 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
关于PHP5 Session生命周期介绍
2010/03/02 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
初识JQuery 实例一(first)
2011/03/16 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
2014/10/17 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
JavaScript子窗口调用父窗口变量和函数的方法
2015/10/09 Javascript
详解微信小程序——自定义圆形进度条
2016/12/29 Javascript
Vue + Webpack + Vue-loader学习教程之功能介绍篇
2017/03/14 Javascript
详解在Node.js中发起HTTP请求的5种方法
2019/01/10 Javascript
nodejs分离html文件里面的js和css的方法
2019/04/09 NodeJs
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
JS实现点星星消除小游戏
2020/03/24 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
在Python下尝试多线程编程
2015/04/28 Python
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
python读取excel指定列数据并写入到新的excel方法
2018/07/10 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
python框架django项目部署相关知识详解
2019/11/04 Python
python 经典数字滤波实例
2019/12/16 Python
Python API len函数操作过程解析
2020/03/05 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
使用pyecharts1.7进行简单的可视化大全
2020/05/17 Python
python跨文件使用全局变量的实现
2020/11/17 Python
Numpy中np.max的用法及np.maximum区别
2020/11/27 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
Servlet面试题库
2015/07/18 面试题
消防应急演练方案
2014/02/12 职场文书
小区消防演习方案
2014/02/21 职场文书
高中同学会活动方案
2014/08/14 职场文书
2014银行授权委托书样本
2014/10/04 职场文书
成绩报告单家长评语
2014/12/30 职场文书
岁月神偷观后感
2015/06/11 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
详解SQL的窗口函数
2022/04/21 Oracle