问候。
我正在使用 Avenza Mapublisher(Adobe Illustrator 的扩展)来创建交互式地图。
导出地图时,它会创建一系列 Flash swf 文件、一个 html 文件和一些 javascript 代码。上面的链接显示了非格式化版本。如您所见,地图加载非常缓慢,因为默认情况下,所有图层在加载时都会打开。我已经尝试了所有方法,但无法弄清楚如何控制加载地图时显示哪些图层。我真正想要的只是学校、城镇和一个在加载时处于活动状态的道路层,其余的则被关闭。理想情况下,我希望剩余的农药层位于下拉菜单中,因此只能选择一个。
我尝试将选中的 =“真”设置为“假”,完全消除了选中,复选框出现未选中,但图层仍处于活动状态。我在想必须将某些东西写入我无法控制的 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);
}