Google 地图事件实例讲解


Posted in Javascript onAugust 06, 2016

Google 地图事件

点击标记缩放地图

我们仍然使用上一遍文章使用的英国伦敦的地图。

点用户点击标记时实现缩放地图的功能(点击标记时绑定地图缩放事件)。

代码如下:

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
var mapProp = {
 center: myCenter,
 zoom:5,
 mapTypeId: google.maps.MapTypeId.ROADMAP
 };

var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker = new google.maps.Marker({
 position: myCenter,
 title:'Click to zoom'
 });

marker.setMap(map);

// Zoom to 9 when clicking on marker
google.maps.event.addListener(marker,'click',function() {
 map.setZoom(9);
 map.setCenter(marker.getPosition());
 });
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>

</body>
</html>

使用 addListener() 事件处理程序来注册事件的监听。该方法使用一个对象,一个事件来监听,当指定的事件发生时 函数将被调用。

重置标记

我们通过给地图添加事件处理程序来改变 'center' 属性,以下代码使用 center_changed 事件在3秒后标记移会中心点:

实例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
var mapProp = {
 center: myCenter,
 zoom:5,
 mapTypeId: google.maps.MapTypeId.ROADMAP
 };

var map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker = new google.maps.Marker({
 position: myCenter,
 title:'Click to zoom'
 });

marker.setMap(map);

// Zoom to 9 when clicking on marker
google.maps.event.addListener(marker,'click',function() {
 map.setZoom(9);
 map.setCenter(marker.getPosition());
 });
   
google.maps.event.addListener(map,'center_changed',function() {
// 3 seconds after the center of the map has changed, pan back to the marker
 window.setTimeout(function() {
  map.panTo(marker.getPosition());
 },3000);
 });
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>

</body>
</html>

点击标记时打开信息窗口。

点击标记在信息窗口显示一些文本信息:

实例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
var mapProp = {
 center:myCenter,
 zoom:5,
 mapTypeId:google.maps.MapTypeId.ROADMAP
 };

var map=new google.maps.Map(document.getElementById("googleMap"),mapProp);

var marker=new google.maps.Marker({
 position:myCenter,
 });

marker.setMap(map);

var infowindow = new google.maps.InfoWindow({
 content:"Hello World!"
 });

google.maps.event.addListener(marker, 'click', function() {
 infowindow.open(map,marker);
 });
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>
</body>
</html>

设置标记及打开每个标记的信息窗口

当用户点击地图时执行一个窗口

用户点击地图某个位置时使用 placeMarker() 函数在指定位置上放置一个标记,并弹出信息窗口:

实例

<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js?key=AIzaSyDY0kkJiTPVd2U7aTOAwhc9ySH6oHxOIYM&sensor=false">
</script>

<script>
var map;
var myCenter=new google.maps.LatLng(51.508742,-0.120850);

function initialize()
{
var mapProp = {
 center:myCenter,
 zoom:5,
 mapTypeId:google.maps.MapTypeId.ROADMAP
 };

 map = new google.maps.Map(document.getElementById("googleMap"),mapProp);

 google.maps.event.addListener(map, 'click', function(event) {
  placeMarker(event.latLng);
 });
}

function placeMarker(location) {
 var marker = new google.maps.Marker({
  position: location,
  map: map,
 });
 var infowindow = new google.maps.InfoWindow({
  content: 'Latitude: ' + location.lat() + '<br>Longitude: ' + location.lng()
 });
 infowindow.open(map,marker);
}

google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>

<body>
<div id="googleMap" style="width:500px;height:380px;"></div>

</body>
</html>

以上就是对Google 地图事件的基础知识整理,后续继续补充相关知识,谢谢大家对本站的支持!

Javascript 相关文章推荐
有关于JS辅助函数inherit()的问题
Apr 07 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
Sep 15 Javascript
JS实现仿雅虎首页快捷登录入口及导航模块效果
Sep 19 Javascript
[原创]Javascript 实现广告后加载 可加载百度谷歌联盟广告
May 11 Javascript
探究JavaScript中的五种事件处理程序方式
Dec 07 Javascript
移动端web滚动分页的实现方法
May 05 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
详解vue通过NGINX部署在子目录或者二级目录实践
Sep 03 Javascript
微信小程序常用赋值方法小结
Apr 30 Javascript
小程序如何构建骨架屏
May 29 Javascript
Javascript中的this,bind和that使用实例
Dec 05 Javascript
vue element-ui实现input输入框金额数字添加千分位
Dec 29 Javascript
Google 地图叠加层实例讲解
Aug 06 #Javascript
Google Maps基础及实例解析
Aug 06 #Javascript
浅谈js的html元素的父节点,子节点
Aug 06 #Javascript
JS触发服务器控件的单击事件(详解)
Aug 06 #Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
Aug 06 #Javascript
Google 地图获取API Key详细教程
Aug 06 #Javascript
关于动态生成dom绑定事件失效的原因及解决方法
Aug 06 #Javascript
You might like
9个PHP开发常用功能函数小结
2011/07/15 PHP
PHP中替换换行符的几种方法小结
2012/10/15 PHP
深入理解php的MySQL连接类
2013/06/07 PHP
如何用php获取文件名后缀
2013/06/09 PHP
详细解读PHP中接口的应用
2015/08/12 PHP
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
基于jQuery的倒计时实现代码
2012/05/30 Javascript
jQuery对JSON数据进行排序输出的方法
2015/06/24 Javascript
jQuery使用ajax跨域获取数据的简单实例
2016/05/18 Javascript
深入理解(function(){... })();
2016/08/16 Javascript
vue页面使用阿里oss上传功能的实例(二)
2017/08/09 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
使用D3.js创建物流地图的示例代码
2018/01/27 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
layui: layer.open加载窗体时出现遮罩层的解决方法
2019/09/26 Javascript
js实现开关灯效果
2020/03/30 Javascript
React倒计时功能实现代码——解耦通用
2020/09/18 Javascript
JavaScript 如何在浏览器中使用摄像头
2020/12/02 Javascript
[05:49]DOTA2-DPC中国联赛 正赛 Elephant vs LBZS 选手采访
2021/03/11 DOTA
python学习之编写查询ip程序
2016/02/27 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
Python QTimer实现多线程及QSS应用过程解析
2020/07/11 Python
Python通过字典映射函数实现switch
2020/11/06 Python
美国领先的精品家居照明和装饰产品在线零售商:LightsOnline.com
2018/01/23 全球购物
中国专业的音频分享平台:喜马拉雅
2019/05/24 全球购物
linux面试题参考答案(4)
2013/01/28 面试题
商务日语专业毕业生自荐信
2014/03/27 职场文书
弘扬雷锋精神演讲稿
2014/05/10 职场文书
党支部特色活动方案
2014/08/20 职场文书
健康状况证明书
2014/11/26 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
php访问对象中的成员的实例方法
2021/11/17 PHP