ボーダー タイプの 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 のドキュメントを調べて、解決策があるかどうかを確認します。