我正在尝试运行下面的代码,但遇到了多种方法错误,我不确定如何解决。此类错误的一个示例是 Object # has no method 'getBounds' 。我已从未包含在以下代码中的 API 密钥注册。
代码
<!doctype html>
<html lang="en-us">
<head>
<meta charset="UTF-8">
<title>Example</title>
<style type="text/css">
div {
margin-top: 500px;
}
</style>
</head>
<div id="map"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript"src="http://www.google.com/jsapi?key={API_KEY}&sensor=false"></script>
<script type="text/javascript"charset="utf-8">
google.load("maps","2.x");
google.load("jquery","1.5.2");
</script>
<script type="text/javascript">
$(document).ready(function(){
var map = new GMap2(document.getElementById('map'));
var burnsvilleMN = new GLatLng(44.797916,-93.278046);
map.setCenter(burnsvilleMN, 8);
});
// setup 10 random points
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
var markers = [];
for (var i = 0; i<10; i++) {
var point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
}
$.each(markers, function(i, marker){
// var marker = marker
setInterval(function(){displayPoint(marker, i);}, 5000 + (i * 5000));
});
$('#map-info').appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));
function displayPoint(marker, index){
var x = marker.getLatLng();
$('#map-info').hide();
var moveEnd = GEvent.addListener(map, 'moveend', function(){
var markerOffset = map.fromLatLngToDivPixel(x);
GEvent.removeListener(moveEnd);
});
map.panTo(marker.getLatLng());
}
</script>
</html>
更新代码
<!doctype html>
<html lang="en-us">
<head>
<meta charset="UTF-8">
<title>Example</title>
<style type="text/css">
div {
margin-top: 500px;
}
</style>
</head>
<body>
<div id="map"></div>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript"src="http://www.google.com/jsapi?key={API_KEY}&sensor=false"></script>
<script type="text/javascript"charset="utf-8">
google.load("maps","2.x");
google.load("jquery","1.5.2");
</script>
<script type="text/javascript">
$(document).ready(function(){
var map = new GMap2(document.getElementById('map'));
var burnsvilleMN = new GLatLng(44.797916,-93.278046);
map.setCenter(burnsvilleMN, 8);
// setup 10 random points
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng() - southWest.lng();
var latSpan = northEast.lat() - southWest.lat();
var markers = [];
for (var i = 0; i<10; i++) {
var point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
marker = new GMarker(point);
map.addOverlay(marker);
markers[i] = marker;
}
$.each(markers, function(i, marker){
// var marker = marker
setInterval(function(){displayPoint(marker, i);}, 5000 + (i * 5000));
});
$('#map-info').appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));
function displayPoint(marker, index){
var x = marker.getLatLng();
$('#map-info').hide();
var moveEnd = GEvent.addListener(map, 'moveend', function(){
var markerOffset = map.fromLatLngToDivPixel(x);
GEvent.removeListener(moveEnd);
});
map.panTo(marker.getLatLng());
}
});
</script>
</body>
</html>