Проблема переключения уровня javascript, flash и MAPublisher - PullRequest
0 голосов
/ 14 мая 2009

Привет.

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

1 Ответ

0 голосов
/ 29 июля 2009

Я работаю на Avenza.

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

...