JavaScript&谷歌地图 - 未捕获类型错误:无法读取属性' __ e3 _'未定义的

时间:2014-04-09 16:51:54

标签: javascript php jquery codeigniter google-maps

我正在使用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>';

?>

第一个警报适用于页面加载

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

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

我在控制台中收到错误&#34; Uncaught TypeError:无法读取属性&#39; _ e3 &#39;未定义&#34;这与&#34; map&#34;有关。

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

1 个答案:

答案 0 :(得分:0)

地图不是通过回显$map['js']来创建的,它是通过调用控制器中的$this->googlemaps->create_map()创建的,存储结果,将它们传递给视图并回显它们。您可能需要查看示例:

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