Locationbox は、Google マップのようなサービスを提供する外部システムです。ここで例を確認できます。
http://www.locationbox.com.tr/web/demo/displaymap.jsp
Salesforce プラットフォームにデプロイしたい。最初のスクリプト タグは、ロケーション ボックス サービスから JavaScript コードを取得します。startup() を実行した後、ドキュメント内のdiv id="map"...に動的コンテンツを設定します。動的コンテンツにはいくつかの png 画像があります。以下のコードはローカルでは html ファイルとして機能しますが、apex ページでは機能しません。(関数 x() は頂点ページで期待どおりに機能します。)
頂点ページで次のコードを使用しています。
<apex:page>
<script language="Javascript" src="http://www.locationbox.com.tr/locationbox/services?Key=mykey&Cmd=API&Typ=JS"<script language="JavaScript">
var mapper = new IMapper();
window.addEventListener('load', function() {alert('OK1'); x();}, false);
window.addEventListener('load', function() {alert('OK1'); startup();}, false);
function startup() {
mapper.initMap(41.1, 29.1, 7);
mapper.addNavigationPanel();
MVGlobalVariables();
return;
}
function x() {
document.getElementById("map").innerHTML = 2;
}
</script>
<div id="map" style="border: 1px solid black; width:100%; height:100%; z-index: 0; position:relative; -moz-user-select:none; background-color: lightgrey;" tabindex="0">1</div>
</apex:page>