проблема с переключением слоев javascript, flash и MAPublisher

Привет.

Я работаю с 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); 
}

person Jb.    schedule 13.05.2009    source источник


Ответы (1)


Я работаю в Авензе.

К сожалению, то, что вы хотите сделать, невозможно с MAPublisher 8.1, однако это было добавлено в версию 8.2, которая теперь доступна. Просто измените параметр «Изначально видимый» в диалоговом окне экспорта веб-карты для слоев, которые вы не хотите отображать при загрузке карты.

person Josh Knauer    schedule 29.07.2009
comment
Спасибо, Джош. Я думаю, что я получил ваш телефонный звонок, а также. Жду 8.2 и обязательно получу лицензию. Это изменение очень интересно. - person Jb.; 29.09.2009