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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
js的写法基础分析
Jan 17 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
Mar 21 Javascript
js实现目录定位正文示例
Nov 14 Javascript
原生javascript实现隔行换色
Jan 04 Javascript
jQuery超赞的评分插件(8款)
Aug 20 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
Nov 21 Javascript
Angular.js自定义指令学习笔记实例
Feb 24 Javascript
javascript 面向对象实战思想分享
Sep 07 Javascript
vue引用js文件的多种方式(推荐)
May 17 Javascript
微信小程序自定义单项选择器样式
Jul 25 Javascript
JS删除对象中某一属性案例详解
Sep 08 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
使用PHP制作新闻系统的思路
2006/10/09 PHP
PHP类中的魔术方法(Magic Method)简明总结
2014/07/08 PHP
PHP查找数值数组中不重复最大和最小的10个数的方法
2015/04/20 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
php微信开发之关键词回复功能
2018/06/13 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jquery插件 cluetip 关键词注释
2010/01/12 Javascript
javascript和HTML5利用canvas构建猜牌游戏实现算法
2013/07/17 Javascript
动态加载JS文件的三种方法
2013/11/08 Javascript
js实现精美的图片跟随鼠标效果实例
2015/05/16 Javascript
纯JavaScript代码实现文本比较工具
2016/02/17 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
JS弹出窗口插件zDialog简单用法示例
2016/06/12 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
[52:06]FNATIC vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/19 DOTA
python中getattr函数使用方法 getattr实现工厂模式
2014/01/20 Python
python实现录音小程序
2020/10/26 Python
详解重置Django migration的常见方式
2019/02/15 Python
详解python 模拟豆瓣登录(豆瓣6.0)
2019/04/18 Python
Django url,从一个页面调到另个页面的方法
2019/08/21 Python
对python中assert、isinstance的用法详解
2019/11/27 Python
Python标准库itertools的使用方法
2020/01/17 Python
Python小白不正确的使用类变量实例
2020/05/29 Python
详解Anaconda安装tensorflow报错问题解决方法
2020/11/01 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
canvas进阶之贝塞尔公式推导与物体跟随复杂曲线的轨迹运动
2018/01/10 HTML / CSS
美国电视购物:QVC
2017/02/06 全球购物
毕业生的自我鉴定
2013/10/29 职场文书
网络技术专业推荐信
2014/02/20 职场文书
岗位工作说明书
2014/07/29 职场文书
环保项目建议书
2014/08/26 职场文书
会计试用期自我评价
2015/03/10 职场文书
会计求职自荐信
2015/03/26 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书