Привет.
Я работаю с Avenza Mapublisher (расширение для Adobe Illustrator) над созданием интерактивной карты.
При экспорте карты создается серия флэш-файлов swf, файл html и некоторый код javascript. Приведенная выше ссылка показывает неформатированную версию. Как видите, карта загружается очень медленно, потому что по умолчанию все слои включаются при загрузке. Я пробовал все, но не могу понять, как управлять тем, какие слои отображаются при загрузке карты. На самом деле все, что я хочу, это чтобы школы, города и слой дорог были активны при загрузке, а остальные отключались. В идеале я хотел бы, чтобы оставшиеся слои пестицидов находились в раскрывающемся меню, чтобы можно было выбрать только один.
Я попытался установить для параметра 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);
}