相关疑难解决方法(0)

InvalidStateError:"在基本的Google Map教程示例中尝试使用不可用或不再可用的对象"

我有一个XML,它通过XSLT转换为HTML.XML能够包含JavaScript,并且它可以正确地将其转换为HTML,就像我在许多其他页面中一样.它只是不适用于GoogleMaps,我怀疑,我的JavaScript在某处出错了.

生成的HTML的相关部分看起来如下所示.

HTML /脚本中发生了什么:

  • API从googleapis.com加载
  • 创建具有ID map_canvas的div.
  • 定义了一个函数start(),它是通过启动的<body onload="start();">.
  • 在此函数中,创建变量map_canvas并将引用传递给名为map_canvas的div对象.
  • 为了控制,这一步有效,我给div新的背景颜色为红色.
  • 有用.
  • 接下来,我想创建变量var_options并为center,zoom和mapTypeId设置初始值.
  • 为了控制,这一步有效,我给div新的背景颜色为蓝色.
  • 这不起作用,它保持红色.
  • 因此,该指令未被执行.
  • 所以我检查一下是否可以访问该对象google.maps.
  • 如果是这样,我给div新的背景颜色为绿色.
  • 这有效,所以我可以访问这个对象.
  • 交叉检查:如果我注释掉加载API的语句,颜色不会改变.

对我来说,这看起来像以下是错误的某个地方.

    var map_options = {
        center: new google.maps.LatLng(44.54, -78.54),
        zoom: 8,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    }
Run Code Online (Sandbox Code Playgroud)

但几个小时后,我仍然无法弄清楚它是什么.

<html>
    <head>
        ...
        <script src="http://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript">
        </script>

        <script type="text/javascript">
        function start()
        {   
            var map_canvas = document.getElementById('map_canvas');

// If the element can be located, we make it green. Checked.
// If we give the function another name than start, it won't be …
Run Code Online (Sandbox Code Playgroud)

html javascript firefox google-maps

8
推荐指数
2
解决办法
4万
查看次数

标签 统计

firefox ×1

google-maps ×1

html ×1

javascript ×1