Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    problema javascript con Firefox

    ciao a tutti..
    sto realizzando un applicazione web utilizzando le api di Google Maps.
    Provando l'applicazione con i vari browser risulta funzionale per tutti tranne per Firefox.
    Analizzando la "console degli errori" mi risultano undefined alcune variabili dichiarate al di fuori delle funzioni per far si che tutte le funzioni create possono utilizzarle.

    L'applicazione consiste nel permettere agli utenti di scegliere in un menu a tendina dei percorsi prestabiliti e di inserire una distanza entro la quale i punti di interesse (anch'essi prestabiliti) possono essere visualizzati.

    vi posto il codice sperando mi possiate aiutare a risolvere il problema:

    <script type="text/javascript">

    var map;
    var panorama;
    var gdir;
    var directionsDisplay;
    var directionsService = new google.maps.DirectionsService();
    var geocoder;
    var panorama;
    var dir;

    function initialize() {
    //in questa funzione viene inizializzata la mappa in cui visualizzare il percorso e i
    marcatori, la panoramica che consiste nella street view e nel pannello in cui inserire le
    indicazioni stradali

    geocoder = new google.maps.Geocoder();
    directionsDisplay = new google.maps.DirectionsRenderer();

    var mapCenter = new GLatLng(45.4636889,9.188140799999928);
    var mapOptions = {
    center: mapCenter,
    zoom: 12,
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    streetViewControl: true
    };

    if(document.getElementById)
    map = new GMap2(document.getElementById("map_canvas1"),mapOp tions);
    else
    map = new GMap2(document.all["map_canvas1"],mapOptions);

    map.setCenter(new GLatLng(45.4636889,9.188140799999928),16);
    map.addOverlay(new GLayer("com.panoramio.all"));
    map.addOverlay(new GLayer("org.wikipedia.it"));
    map.addOverlay(new GStreetviewOverlay());

    map.addControl(new GLargeMapControl());
    map.addControl(new GMapTypeControl());


    myPOV = {yaw:370.64659986187695,pitch:-20};
    svOpts = {latlng:mapCenter, pov:myPOV};

    if(document.getElementById)
    panorama = new
    GStreetviewPanorama(document.getElementById("map_c anvas2"), svOpts);
    else
    panorama = new GStreetviewPanorama(document.all["map_canvas2"], svOpts);

    GEvent.addListener(map, 'click', function(overlay, latlng) {
    panorama.setLocationAndPOV(latlng);
    });

    if(document.getElementById)
    gdir = new GDirections(map, document.getElementById("directions"));
    else
    gdir = new GDirections(map, document.all["directions"]);

    } // fine funzione initialize

    function calcRoute() {
    //in questa funzione vengono prelevati i dati dal form compilato dall'utente,
    eseguiti i calcoli opportuni per stabilire se i punti di interesse sono vicini al percorso
    entro la soglia massima inserita dall'utente e se questo avviene viene creato il Marker

    var waypts = [];
    var start = '<% out.print(request.getSession().getAttribute("start ")); %>';
    var destination = '<%out.print(request.getSession().getAttribute("en d")); %>';
    var request = {
    origin:'<% out.print(request.getSession().getAttribute("start ")); %>',
    destination:'<%out.print(request.getSession().getA ttribute("end")); %>',
    travelMode: google.maps.DirectionsTravelMode.WALKING
    };

    directionsService.route(request, function(result, status) {
    if (status == google.maps.DirectionsStatus.OK) {
    directionsDisplay.setDirections(result);

    }
    else{
    alert(status);
    }
    <% DatastoreService ds3 = DatastoreServiceFactory.getDatastoreService();
    Query q_point2 = new Query("PI");
    PreparedQuery pq_point2 = ds3.prepare(q_point2);

    %>


    var distanza = '<% out.print(request.getSession().getAttribute("dista nza")); %>';


    var coord_percorso = '<% out.print(request.getSession().getAttribute("coord ")); %>';
    var spazio = coord_percorso.indexOf(" ");
    var single_coord = new Array();
    var i = 0;
    while(spazio>=0){
    //MEMORIZZO LE COORDINATE DEL PERCORSO IN UN ARRAY
    single_coord[i] = coord_percorso.substring(0,spazio-2);
    coord_percorso = coord_percorso.substring(spazio+1);
    spazio = coord_percorso.indexOf(" ");
    i++;


    }

    var coords = "from: "+start+" to: "+destination;

    var mode = G_TRAVEL_MODE_WALKING;
    // or G_TRAVEL_MODE_WALKING

    gdir.load(coords, {travelMode:mode});

    //eseguo calcoli per soddisfare la seguente condizione

    if(dist < miglia2){
    var location = new GLatLng(p_lat,p_lon);
    //p_lat e p_lon sono coordinate di punti che prelevo nei calcoli
    var titolo = nome; //nome è una variabile stabilita nei calcoli

    map.addOverlay(createMarker(location,titolo));
    }
    });
    }

    function createMarker(position,titolo){
    var m = new GMarker(position);
    GEvent.addListener(m, "click", function() {
    var txt = ""+titolo+"";
    map.openInfoWindowHtml(position,txt);
    panorama.setLocationAndPOV(position);
    });
    return m;
    }
    </script>



    le variabili che sono undefined secondo Firefox sono:
    - gdir che mi serve per visualizzare le indicazioni stradali;
    - map che è la mappa in cui devo visualizzare il percorso e i marcatori


    aiutatemi vi prego!!!

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    A) Non si fa cross-post http://forum.html.it/forum/showthrea...readid=1463228
    B) Il titolo non è il massimo.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.