GD所有,
过去几天我一直在尝试使用谷歌地图,并试图通过使用按钮放置标记或绘制路径来与地图进行一些交互。
从这里的侦察和阅读几篇文章中,我可以找到很多选择,尽管它们或多或少都讲述了相同的故事,它应该相对简单......
不幸的是,到目前为止我一直无法产生预期的结果..:-(
我已经尝试了几件事: - 添加警报,所以我可以查看该函数是否实际被调用 = ok!- 在initialize()中集成函数代码,检查函数代码是否ok = ok!
然而似乎仍然无法让它工作......
因此,按钮确实调用了函数,但它们似乎并没有在函数调用后更新地图。即地图上没有任何变化......?
任何帮助都感激不尽。
基本上,它们在初始化中的“点击监听器”与“callMe”函数的作用相同。但是,如果我让监听器引用“callMe”函数,它不会执行,即使警报框触发,也就是该函数被正确调用。
我的 .php 代码:
<!DOCTYPE html>
<html>
<head>
<title>Simple click event</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<link href="/maps/documentation/javascript/examples/default.css" rel="stylesheet">
<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script>
function initialize() {
var mapOptions = {
zoom: 4,
center: new google.maps.LatLng(-25.363882, 131.044922),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
var marker = new google.maps.Marker({
position: map.getCenter(),
map: map,
title: 'Click to zoom'
});
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.addListener(marker, 'click', function() {
map.setZoom(8);
map.setCenter(marker.getPosition());
});
}
function callMe(){
alert('function called');
map.setZoom(8);
map.setCenter(marker.getPosition());
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
</head>
<body>
<div id="map-canvas" style="width: 100%; height: 300px"></div>
<div>
<button id="btnOK" onclick="callMe()">Drop marker</button>
</div>
</body>
</html>
非常感谢 !
马汀