ご挨拶。
Avenza Mapublisher(Adobe Illustratorの拡張機能)を使用して、インタラクティブマップを作成しています。
マップをエクスポートすると、一連のフラッシュswfファイル、htmlファイル、およびいくつかのjavascriptコードが作成されます。上記のリンクは、フォーマットされていないバージョンを示しています。ご覧のとおり、デフォルトではすべてのレイヤーがロード時にオンになっているため、マップのロードは非常に遅くなります。私はすべてを試しましたが、マップがロードされたときに表示されるレイヤーを制御する方法がわかりません。本当に欲しいのは、学校、町、道路レイヤーがロード時にアクティブになり、残りがオフに切り替えられることだけです。理想的には、残りの農薬レイヤーをプルダウンメニューに入れて、1つだけを選択できるようにします。
checked = "true"を"false"に設定してみましたが、チェックボックスを完全に削除すると、チェックボックスがオンにならずに表示されますが、レイヤーはまだアクティブです。私が制御できない何かがswfファイルに書き込まれなければならないと思っています。誰かがこのプログラムで働いたことがありますか。興味があれば、オンラインで2週間の無料トライアルがあります。
したがって、htmlファイルは
<script src="layerCheckboxes.js" language="javaScript"></script>
そして、このファイルは基本的にすべての選択の選択肢を持つ変数です。
var checkboxes = ' \
<input type="checkbox" checked="true" value="Tulare Schools" onClick="swfLayerToggle(value, checked);" />Tulare Schools \
<input type="checkbox" checked="true" value="Towns" onClick="swfLayerToggle(value, checked);" />Towns \
<input type="checkbox" checked="true" value="Major Roads" onClick="swfLayerToggle(value, checked);" />Major Roads \
<input type="checkbox" checked="true" value="County Roads" onClick="swfLayerToggle(value, checked);" />County Roads \
<input type="checkbox" checked="true" value="1_3 Dichloropropene" onClick="swfLayerToggle(value, checked);" />1_3 Dichloropropene \
<input type="checkbox" checked="true" value="Aluminum Phosphide" onClick="swfLayerToggle(value, checked);" />Aluminum Phosphide \
<input type="checkbox" checked="true" value="Chloropicrin" onClick="swfLayerToggle(value, checked);" />Chloropicrin \
<input type="checkbox" checked="true" value="Chlorpyrifos" onClick="swfLayerToggle(value, checked);" />Chlorpyrifos \
<input type="checkbox" checked="true" value="Diazinon" onClick="swfLayerToggle(value, checked);" />Diazinon \
<input type="checkbox" checked="true" value="Fumigants" onClick="swfLayerToggle(value, checked);" />Fumigants \
<input type="checkbox" checked="true" value="Metam Sodium" onClick="swfLayerToggle(value, checked);" />Metam Sodium \
<input type="checkbox" checked="true" value="Methyl Bromide" onClick="swfLayerToggle(value, checked);" />Methyl Bromide \
<input type="checkbox" checked="true" value="Sodium Tetrathiocarbonate" onClick="swfLayerToggle(value, checked);" />Sodium Tetrathiocarbonate \
<input type="checkbox" checked="true" value="Acres Treated" onClick="swfLayerToggle(value, checked);" />Acres Treated \
<input type="checkbox" checked="true" value="Application Rate" onClick="swfLayerToggle(value, checked);" />Application Rate \
<input type="checkbox" checked="true" value="Pesticide Use" onClick="swfLayerToggle(value, checked);" />Pesticide Use \
<input type="checkbox" checked="true" value="Agriculture Use" onClick="swfLayerToggle(value, checked);" />Agriculture Use'
document.write('<form>' + checkboxes + '</form>');
関数swfLayerToggle()はcheckboxFuntions.jsというファイルにあります
function getMyApp(appName) {
if (navigator.appName.indexOf ("Microsoft") !=-1) {
return window[appName];
} else {
return document[appName];
}
}
function swfLayerToggle(layer, isOn) {
getMyApp("MAPublisherSWF").swfLayerToggle(layer, isOn);
}