我正在使用谷歌地图“享受”乐趣,并且需要一些帮助。基本上我有一小块 HTML/Javascript,可以将其加载到标准 HTML 页面或使用 Ajax 加载到 div 中。我目前想做的就是让 map 出现。当页面作为 HTML 的一部分加载时,它很好,会出现、唱歌、跳舞,偶尔还会吹笛子。然而,当它通过 Ajax 加载时,它不会出现,但 google 编写的 javascript 会出现。
我认为我缺少负载或就绪触发器。但无法找出我错过了什么。我的 search-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>
凯恩。
最佳答案
您是否尝试过将 AJAX 调用的结果传递给 javascript 的 eval()
方法?这将执行您从其他页面加载的任何 JavaScript 代码。
如果您只是使用 AJAX 加载 js 并将其添加到 div,那么代码将不会自动执行。
关于javascript - 谷歌地图 Ajax 加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1954263/