问题描述
|
使用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);
解决方法
确保您加载的是正确的Google Maps API,具有div标签和地图ID,并且(为了很好地确保)为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>
, 在V3中,所有名称均已更改。例如,GLatLng
现在是google.maps.LatLng
。您将需要修改代码以使用新名称。
如果您没有文档的链接
, v3中没有GLatLng
,将其更改为google.maps.LatLng
center: chicago,
, 我有相同的症状,我的v2映射无法与V3一起显示。当我在浏览器控制台日志中查看时,看到错误:Uncaught ReferencedError:未定义GBrowserIsIncompatible。
根据Google V2到V3迁移指南,不再支持GBrowserIsIncompatible。我还没有找到替代方法,只是删除了与此功能相关的逻辑。该站点建议仅删除该功能。
我发现了上面的《 Google迁移指南》链接中已解决的其他迁移问题。
, 1-确保您的Google Map API密钥正确。
2-您的Google地图控制台中可能未启用它。
3-错误地启用了位置API而不是地图API。