2009-05-13 9 views
0

Salutations.javascript, flash et numéro de basculement de la couche MAPublisher

Je travaille avec Avenza Mapublisher (une extension pour Adobe Illustrator) pour créer un interactive map.

Lors de l'exportation de la carte, elle crée une série de fichiers flash swf, un fichier html et du code javascript. Le lien ci-dessus montre la version non formatée. Comme vous pouvez le voir, la carte se charge très lentement car, par défaut, toutes les couches sont activées lors du chargement. J'ai tout essayé mais je n'arrive pas à comprendre comment contrôler les calques affichés lorsque la carte est chargée. Vraiment tout ce que je veux, ce sont les écoles, les villes, et une couche de route pour être actif en charge, et le reste à être basculé. Idéalement, j'aimerais que les couches de pesticides restantes soient dans un menu déroulant, de façon à n'en choisir qu'une seule.

J'ai essayé de mettre le checked = "true" à "false", éliminé la vérification complètement et la case à cocher apparaît pas vérifié mais la couche est toujours active. Je pense que quelque chose doit être écrit dans le fichier SWF que je n'ai aucun contrôle sur. Quelqu'un a-t-il travaillé avec ce programme? Il y a un essai gratuit de 2 semaines en ligne si vous êtes intéressé.

Ainsi, le fichier html appelle

<script src="layerCheckboxes.js" language="javaScript"></script> 

et ce fichier est une variable bascially avec tous les choix de sélection.

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>'); 

et la fonction swfLayerToggle() est dans un fichier appelé 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); 
} 

Répondre

0

Je travaille pour Avenza.

Malheureusement, ce que vous voulez faire n'est pas possible avec MAPublisher 8.1, mais il a été ajouté à la version 8.2 qui est maintenant disponible. Il suffit de modifier le paramètre "Initialement visible" dans la boîte de dialogue d'exportation de la carte Web pour les couches que vous ne voulez pas afficher lors du chargement de la carte.

+0

Merci Josh. Je pense que j'ai aussi reçu votre appel téléphonique. Je suis impatient de 8.2 et obtiendra certainement une licence. Ce changement est très excitant. –

Questions connexes