【问题标题】:JavaScript & Google Maps - Uncaught TypeError: Cannot read property '__e3_' of undefinedJavaScript 和 Google 地图 - 未捕获的类型错误:无法读取未定义的属性“__e3_”
【发布时间】:2014-05-23 00:56:49
【问题描述】:

我正在使用 Biostall Googlemaps Library for Codeigniter 并在我的 HTML 视图上设置地图。

在我的页眉中

   <script type="text/javascript" src="/ci_bootstrap/assets/js/jquery-1.11.0.min.js"> </script>

  <?php 
  echo $map['js']; 
  ?> 

我正在尝试为我的地图创建一些自定义代码,作为测试,我一直在尝试在 Biostall 库之外添加一个简单的点击事件

此代码也在页眉中

<script type="text/javascript">

  $(function(){

     alert("page Loaded");

     $("#map_canvas").click(
        function(){alert("Map Clicked")}
        )

       google.maps.event.addListener(map, 'hover', function() {
       alert("Map hovered Over")
       console.log(map)

       });

})
</script>

在我的 HTML 视图文件中,我有

<?php

     echo '<div id="map_canvas">';
      echo $map['html']; 
     echo '</div>';

?>

第一个警报在页面加载时起作用

第二个警报适用于地图点击

应该在悬停时触发的第三个警报不起作用。

我在控制台“Uncaught TypeError: Cannot read property '_e3' of undefined”中收到与“map”相关的错误

如果我理解正确,我认为该问题是由于库通过echo $map['js']; 输出地图的JavaScript 而我正在尝试使用JavaScript 在其中引用地图变量。有没有其他人遇到过类似的事情?

【问题讨论】:

    标签: javascript php jquery codeigniter google-maps


    【解决方案1】:

    地图不是通过回显$map['js'] 创建的,它是通过在控制器中调用$this-&gt;googlemaps-&gt;create_map()、存储结果、将它们传递给视图并回显它们来创建的。你可能想看看这个例子:

    http://biostall.com/demos/google-maps-v3-api-codeigniter-library/

    【讨论】:

    • 嗨 - 正如你所说,我已经在我的视图文件中创建了一个地图,但我正在尝试在我的标题中的
    • 查看页面的源代码,并将其与示例的源代码进行比较。它们看起来一样吗?或者更具体地说,您是否在页面中生成了 javascript?如果没有,您应该在尝试添加自定义代码之前解决该问题。如果没有您使用的实际代码,我无法确定问题出在哪里。
    • 页面中生成了 javascript - 并且地图按原样生成。 biostall 库一切正常。我想做的是创建一些额外的 javascript 代码来处理地图。为了测试我刚刚在我的页眉中添加了基本的事件监听器,这就是我遇到的问题。当我刷新页面时,上面示例中的悬停之一会发出 - Uncaught TypeError: Cannot read property '_e3' of undefined - 指的是google.maps.event.addListener(map, 'hover', function() { alert("Map hovered Over") });
    • 您的自定义代码可能会在定义map 变量之前执行。尝试将其添加到视图中的 Biostall 代码下方。
    • 如果您确定带有var map; 定义的代码在您的源代码中,那么我的猜测是您的javascript 是在执行Biostall 代码之前执行的。不知道为什么,但尝试将$(function(){ 更改为google.maps.event.addDomListener(window, "load", function(){
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多