谷歌地图javascript多个方法错误
Google maps javascript multiple methods error
我正在尝试运行下面的代码,但遇到多个方法错误,我不确定如何解决。此类错误的一个例子是对象#没有方法"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>
您的$(document).ready()
函数在 DOM 准备就绪时运行。但是,其他代码在遇到时运行 — 在 DOM 准备就绪之前。
这意味着浏览器会在设置map
之前尝试执行map.getBounds()
。
解决方案是一起执行所有映射操作。
另请注意,必须为地图指定显式大小。你需要这样的东西:
div#map {
height: 500px;
width:500px;
}
给每个div一个margin-top
,会将该边距应用于每个地图图块,从而对地图产生不利影响。这需要去:
div { // applies to every div element
margin-top: 500px;
}
相关文章:
- jQuery AJAX Post方法错误(语法错误)
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- 谷歌地图javascript多个方法错误
- 检查对话框是否为 Open 会引发“初始化前无法在对话框上调用方法”错误
- 当输入值已更改时,html() 方法错误
- 对象不支持 IE7 jQuery 中的此属性或方法错误
- jQuery.validation 在生日年龄验证中添加方法错误
- 木偶/骨干应用程序中没有方法错误
- 使用此 javascript 在 IE7 中收到“对象不支持此属性或方法”错误,以及选项卡未正确定位的问题
- “初始化前无法在工具提示上调用方法”错误,当我添加 jquery-ui 库时
- 谷歌图表绘制()方法错误类型时给定数据表
- Javascript:随机“对象没有方法”错误,即使使用 jquery.getScript()
- 在对象中调用对象方法 - 错误:无法读取未定义的属性
- 调用原型的重写方法,然后调用下一个原型的重写方法错误
- 方法错误:未定义方法名称
- “对象 [对象对象] 没有方法”错误在线,但不在本地主机上!为什么
- 对象在没有冲突后没有方法错误
- AJAX POST请求上没有方法错误轨道
- “
没有方法”错误,用于似乎存在的对象 - 对象在 JavaScript 中没有方法错误