javascript - 谷歌地图不显示

标签 javascript dom google-maps

我一直在使用 Google map API v.3 时遇到问题。

我的 Canvas 声明如下

 <div id="map_canvas" style="width:
 50%; height: 50%; margin-left: auto;
 margin-right: auto">

在我的 Javascript 函数中

var myOptions = {
    zoom: 8,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROADMAP
}

var mydiv=document.getElementById("map_canvas");
var map = new google.maps.Map(mydiv , myOptions);

一切正常。

但是,当我将 map 放在类似这样的表单中时

<form id="_frm" runat="server">
    <table>
        .
        .
        .
    </table>
    <div id="map_canvas" style="width: 50%; height: 50%; margin-left: auto; margin-right: auto">
    </div>
    <table>
        .
        .
        .        
    </table>
    </form>

如果不生成 JS 错误,则 map 不会显示。 我将 Google map 的路径更改为

var mydiv=document.forms[0].getElementsByTagName("div")[2];

并添加了一条警报语句以查看 ID。所以现在我有

var myOptions = {
    zoom: 8,
    center: myLatlng,
    mapTypeId: google.maps.MapTypeId.ROAD    
}

var mydiv=document.forms[0].getElementsByTagName("div")[2];
alert(mydiv.id);
var map = new google.maps.Map(mydiv , myOptions);

虽然警报语句显示 map_canvas,但 map 仍然不会显示。

有什么帮助吗?

最佳答案

尝试为您的 map div 指定明确的尺寸:

<div id="map_canvas" style="width:200px; height: 200px; margin-left: auto;
    margin-right: auto">

可能只是您的 div 高度为 0px/宽度为 0px,这就是它没有显示的原因。

关于javascript - 谷歌地图不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3690810/

相关文章:

javascript - 使用 jquery 访问 Asp.net 控件(所有选项)

javascript - 平均应用程序。两台服务器同时使用Express、NodeJS、Angular 2

javascript - DOM,使用可变字体大小

javascript - 在 .replaceWith() 之后恢复或保留 select 的事件

javascript - 如何将选定价格和输入复选框价格Jquery结合起来?

javascript - 从 Actionscript 检测 Javascript 的可用性?

javascript - 如何使用 jQuery 添加输入字段并调用 Ajax 到新的输入字段中

google-maps - 在 Google Maps Street View 中禁用建筑物的室内 View

javascript - 带有 iframe 的 Google map 在页面加载后不起作用

Android - map 无法显示