使用V3 API编写代码。
function initialize ()
{
if (GBrowserIsCompatible())
{
var ch = new GLatLng (0,0);
var myOptions = {
zoom:7,
center: ch,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
directionsDisplay = new google.maps.DirectionsRenderer(map, document.getElementById("map"));
directionsDisplay.setMap(map);
}
}
使用V2 API的代码。
function initialize ()
{
if (GBrowserIsCompatible())
{
map = new GMap2 (document.getElementById("map"));
map.setCenter (new GLatLng(0,0),1 );
}
}
V2 API代码完美运行,V3 API代码显示任何地图。 我错过了什么意思?
修改 修改V3代码如下,但仍然没有地图:
var chicago = new google.maps.LatLng (0, 0);
var myOptions = {
zoom:1,
center: chicago,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
答案 0 :(得分:13)
确保您正在加载正确的Google Maps API,您有一个id为map的div标签,并且(为了更好地衡量)您给div一个高度和宽度。 (也许最好将高度和宽度放在样式表中,但为了清楚起见,我将它包含在内联中。)
这是一个包含您的编辑后代码的网页。试试吧。适合我。
<html>
<head>
<title>Google Map test</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
</head>
<body>
<div id="map" style="height:500px;width:500px"></div>
<script>
var chicago = new google.maps.LatLng (0, 0);
var myOptions = {
zoom:1,
center: chicago,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map"), myOptions);
</script>
</body>
</html>
答案 1 :(得分:1)
在V3中,所有名称都已更改。例如,GLatLng
现在是google.maps.LatLng
。您需要修改代码才能使用新名称。
link to the docs如果您没有
答案 2 :(得分:1)
v3中没有GLatLng
,请将其更改为google.maps.LatLng
center: chicago,
答案 3 :(得分:0)
我有相同的症状,我的v2地图不会显示V3。当我查看浏览器控制台日志时,我看到错误:Uncaught ReferencedError:未定义GBrowserIsIncompatible。
根据Google V2 to V3 Migration Guide,不再支持GBrowserIsIncompatible。我还没有找到替代方案,只是删除了与此功能相关的逻辑。这site suggests just removing the function。
我发现其他迁移问题已在上面的Google迁移指南链接中解决。
答案 4 :(得分:0)
1-确保您的Google地图API密钥正确无误。
2-它可能未在您的Google地图控制台中启用。
3-错误地启用了位置API而不是地图API。