我正在尝试在作为边框类型 cflayoutarea 容器的 ColdFusion 模板中使用 Google Maps API。但是,地图根本不显示:
<cfif isdefined("url.lat")>
<cfset lat="#url.lat#">
<cfset lng="#url.lng#">
</cfif>
<head>
<script src= "http://maps.google.com/maps?file=api&v=2&key=xxxx" type="text/javascript">
function getMap(lat,lng){
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map_canvas"));
var pt= new GLatLng(lat,lng);
map.setCenter(pt, 18,G_HYBRID_MAP);
map.addOverlay(new GMarker(pt));
}
}
</script>
</head>
<cfoutput>
<body onLoad="getMap(#lat#,#lng#)" onUnload="GUnload()">
Map:<br>
<div id="map_canvas" style="width: 500px; height: 300px"/>
</body>
</cfoutput>"
其中 lat 和 lng 是 degree.decimal 格式的坐标。我已经追溯到 GBrowserIsCompatible() 以某种方式永远不会返回 TRUE 的行,因此没有采取进一步的行动。
如果单独打开,模板可以完美运行,但作为 cflayoutarea 容器打开时就不行了。有人有这方面的经验吗?任何建议都非常感谢。
劳伦斯
使用 CF 8.01、Dreamweaver 8
尝试了您的建议,但仍然无效;该地图仅在调用代码内联时显示。但是,如果从另一个 div 调用此容器页面,则地图会再次消失。
我怀疑这个问题与 cflayout 容器有关;我将查找 Extjs 文档以查看是否有任何解决方案的线索。