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 相关文章推荐
Javascript打印网页部分内容的脚本
Nov 17 Javascript
jQuery同步提交示例代码
Dec 12 Javascript
iscroll碰到Select无法选择下拉刷新的解决办法
May 21 Javascript
JS获取鼠标选中的文字
Aug 10 Javascript
Vue2单一事件管理组件通信
May 09 Javascript
angularjs项目的页面跳转如何实现(5种方法)
May 25 Javascript
AngularJS中重新加载当前路由页面的方法
Mar 09 Javascript
详解BootStrap表单验证中重置BootStrap-select验证提示不清除的坑
Sep 17 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
vue组件库的在线主题编辑器的实现思路
Apr 03 Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 Javascript
vue 防止页面加载时看到花括号的解决操作
Nov 09 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中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP 采集心得技巧
2009/05/15 PHP
PHP简单实现断点续传下载的方法
2015/09/25 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
MooBox 基于Mootools的对话框插件
2012/01/20 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
js运动动画的八个知识点
2015/03/12 Javascript
简单实现异步编程promise模式
2015/07/31 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
AngularJS表达式讲解及示例代码
2016/08/16 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
VUE JS 使用组件实现双向绑定的示例代码
2017/01/10 Javascript
jquery实现折叠菜单效果【推荐】
2017/03/08 Javascript
详解微信第三方小程序代开发
2017/06/23 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
JS实现自定义状态栏动画文字效果示例
2017/10/12 Javascript
使用axios实现上传图片进度条功能
2017/12/21 Javascript
js 图片转base64的方式(两种)
2018/04/24 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
2018/10/09 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
Node.js API详解之 net模块实例分析
2020/05/18 Javascript
js实现跳一跳小游戏
2020/07/31 Javascript
[01:56]无止竞 再出发——中国军团出征2017年DOTA2国际邀请赛
2017/07/05 DOTA
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
python正则爬取某段子网站前20页段子(request库)过程解析
2019/08/10 Python
药学专业大学生个人的自我评价
2013/11/04 职场文书
宾馆总经理岗位职责
2014/02/14 职场文书
开学典礼决心书
2014/03/11 职场文书
幼儿教师师德师风演讲稿
2014/08/22 职场文书
运动会演讲稿100字
2014/08/25 职场文书
2014县政府领导班子三严三实对照检查材料思想汇报
2014/09/26 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
求职简历自荐信怎么写
2015/03/26 职场文书
孙振耀退休感言
2015/08/01 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
Nginx如何配置Http、Https、WS、WSS的方法步骤
2021/05/11 Servers