我正在使用Biostall Googlemaps Library作为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>';
?>
第一个警报适用于页面加载
第二个警报在地图点击上工作
本应在悬停时触发的第三个警报不起作用。
我在控制台中得到一个错误"未捕获类型错误:无法读取未定义的属性'_e3'",这与"映射"有关
如果我理解正确,我认为问题是因为库通过echo $map['js'];
输出映射的JavaScript,并且我正在尝试使用JavaScript引用其中的映射变量。其他人遇到过类似的事情吗?
映射不是通过回显$map['js']
创建的,而是通过在控制器中调用$this->googlemaps->create_map()
、存储结果、将结果传递到视图并回显来创建的。你可能想看看这个例子:
http://biostall.com/demos/google-maps-v3-api-codeigniter-library/