marker.addlistener 页面加载后立即启动
marker.addlistener gets fired up immediately after pageload
这是我的代码,基于 https://developers.google.com/maps/documentation/javascript/examples/event-simple 中的示例,但我不想在单击标记时放大,而是想显示一个消息框 (alert()
):
<!DOCTYPE html>
<html>
<head>
<title>Simple click event - modified</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var myLatlng = {lat: -25.363, lng: 131.044};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: myLatlng
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Click to show alert'
});
marker.addListener('click', alert('Hello World!'));
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&signed_in=true&callback=initMap" async defer>
</script>
</body>
</html>
当然,我没有使用 YOUR_API_KEY
,而是从 Google Maps API v3.
中填写了我自己的 API 键
每当我加载此页面时,该页面一加载就会显示警报,点击标记根本没有效果。
问题出在 addlistener
,消息框的命令必须在 function() { ... }
:
之间
marker.addListener( 'click', function() { alert('Hello World!'); } );
会解决问题![=13=]
这是我的代码,基于 https://developers.google.com/maps/documentation/javascript/examples/event-simple 中的示例,但我不想在单击标记时放大,而是想显示一个消息框 (alert()
):
<!DOCTYPE html>
<html>
<head>
<title>Simple click event - modified</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
function initMap() {
var myLatlng = {lat: -25.363, lng: 131.044};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 4,
center: myLatlng
});
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: 'Click to show alert'
});
marker.addListener('click', alert('Hello World!'));
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&signed_in=true&callback=initMap" async defer>
</script>
</body>
</html>
当然,我没有使用 YOUR_API_KEY
,而是从 Google Maps API v3.
每当我加载此页面时,该页面一加载就会显示警报,点击标记根本没有效果。
问题出在 addlistener
,消息框的命令必须在 function() { ... }
:
marker.addListener( 'click', function() { alert('Hello World!'); } );
会解决问题![=13=]