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