加载标头时谷歌地图加载

时间:2014-07-22 07:37:17

标签: php codeigniter google-maps

我有codeigniter项目,当调用控制器时,页眉,页脚加载。因此,在加载标题后,我想添加一个谷歌地图,以便在点击地图时获取文本框的纬度和经度。目前我可以在codeigniter之外做到这一点。但是在加载标题后我无法在CI内部执行此操作。我认为这是因为谷歌使用窗口加载函数来初始化地图。

<head>
<!-- Some js files loaded here when controller construct -->
</head>
<body>

<script src="https://maps.googleapis.com/maps/api/js?sensor=false" type="text/javascript"></script>
</head>
<script type="text/javascript">
var map;
function initialize() {
var myLatlng = new google.maps.LatLng(40.713956,-74.006653);

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

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

var marker = new google.maps.Marker({
    draggable: true,
    position: myLatlng, 
    map: map,
    title: "Your location"
});

google.maps.event.addListener(map,'click',function(event) { 
    document.getElementById("latbox").value = event.latLng.lat();
    document.getElementById("lngbox").value = event.latLng.lng();
})

google.maps.event.addListener(marker, 'click', function (event) {
    document.getElementById("latbox").value = this.getPosition().lat();
    document.getElementById("lngbox").value = this.getPosition().lng();
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>

<div id="map_canvas" style="width:50%; height:50%"></div>

1 个答案:

答案 0 :(得分:0)

如果您正在使用jQuery,请尝试类似

的内容
$(document).ready(function(){
    // here paste google maps code
});

当DOM准备好时,Map将初始化