我正在使用谷歌地图“玩得开心”,并得到了一些帮助。基本上我有一小块HTML / Javascript,可以使用Ajax加载到标准HTML页面或div中。我目前正在尝试做的就是让地图出现。当页面作为HTML的一部分加载时,它很好,出现,唱歌,跳舞并偶尔播放长笛。但是,当它通过Ajax加载时它不会出现,但javascript google写道确实如此。
我想我错过了一个负载或准备好的触发器。但无法找出我所缺少的东西。我的搜索foo很弱。这是代码,不是很复杂,你可以看到。谷歌地图包含已被遗漏,但没有报告错误或警告,因为我说它可以作为HTML页面正常工作。
<div id="map_canvas_<?= $userContact->getId() ?>" style="margin: 10px auto; width: 90%; height: 300px;"></div>
<script type="text/javascript">
var mapInstance = null;
var startLatitude = 53.975044;
var startLongitude = -2.153320;
var startZoomLevel = 5;
// create the new instance.
mapInstance = new GMap2($('map_canvas_<?= $userContact->getId() ?>'));
// center the map on the UK
mapInstance.setCenter(new GLatLng(startLatitude, startLongitude), startZoomLevel);
</script>
卡恩。
答案 0 :(得分:2)
您是否尝试过将AJAX调用的结果传递给javascript的eval()
方法?这将执行您从其他页面加载的任何javascript代码。
如果您只是使用AJAX加载js并将其添加到div中,则代码将不会自动执行。
答案 1 :(得分:0)
我认为您需要在window.onload函数中创建GMap2实例等。例如:
// ..other code stays the same
function initMap() {
if (GBrowserIsCompatible()) {
mapInstance = new GMap2(..);
mapInstance.setCenter(..);
}
}
window.onload = initMap;
希望能解决您的问题。