Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746

    [gmaps] ricavare dei dati da una mappa

    Avendo una Gmap versione 3 vorrei ricavare le coordinate del suo centro e la misura dello zoom, dopo averla mossa e zoommata. Questi dati dovrei poi inviarli tramite un form.

    Sto cercando tra la miriade di esempi ma non trovo niente di simile.

    Qualcuno sa come posso risolvere? Grazie
    Errare humanum est, perseverare ovest

  2. #2
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Intanto ho risolto aprendo una infowindow che mi dà le coordinate del punto cliccato ed il livello dello zoom

    però mi servirebbe estrarre il centro esatto della mappa, non quello del punto cliccato ricavato con event.latLng.lat()

    ad esempio il livello di zoom con cui in quel momento viene visualizzata la mappa si ricava con getZoom()

    come posso ricavare anche le coordinate del centro?

    ecco il codice che intanto uso
    Codice PHP:
    var fumetto_coordinate ;

    google.maps.event.addListener(mappa_elenco_opere'click', function(event) { if (fumetto_coordinate) { fumetto_coordinate.close(); }

    var 
    testo_fumetto_coordinate '[b]Impostazioni di visualizzazione:[/b]
    +
    'Latitudine centro mappa: ' event.latLng.lat() + '
    +
    'Longitudine centro mappa: ' event.latLng.lng() + '
    +
    'Livello Zoom: ' mappa_elenco_opere.getZoom() + '
    +
    'Vista: ' mappa_elenco_opere.getMapTypeId() + '
    +
    '<form action="/gestione/index.php" method="post">' +
    '<input type="hidden" name="vpag" value="itinerari_salva" />' +
    '<input type="hidden" name="id_gruppi_selezioni" value="2" />' +  
    '<input type="hidden" name="latitudine_centro_mappa" value="' event.latLng.lat() + '" />' +
    '<input type="hidden" name="longitudine_centro_mappa" value="' event.latLng.lng() + '" />' +
    '<input type="hidden" name="livello_zoom" value="' mappa_elenco_opere.getZoom() + '" />' +
    '<input type="hidden" name="vista" value="' mappa_elenco_opere.getMapTypeId() + '" />' +
    '
    <input class="submit" type="submit" name="control_submit" value="Salva impostazioni" />' 
    +
    '</form>' ;

    fumetto_coordinate = new google.maps.InfoWindow({contenttesto_fumetto_coordinate}); 
    fumetto_coordinate.setPosition(event.latLng);
    fumetto_coordinate.open(mappa_elenco_opere); 
    Errare humanum est, perseverare ovest

  3. #3
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Ok ho trovato come trovare le coordinate del centro della mappa, ora mi rimane un piccolo problema: invece di aprire una infowindow cliccando sulla mappa vorrei utilizzare un pulsante. Il codice per creare un pulsante aggiuntivo sulla mappa l'ho trovato però fa altre cose, adesso vi posto il codice che uso ma più sotto entro nel dettaglio
    Codice PHP:

    function aggiungi_controllo(labeltooltipmappapositiononClickFunction) {

               

                var 
    controlDiv document.createElement('DIV');

                
    controlDiv.style.padding '5px 0';

                
    controlDiv.index 1;

               

                var 
    controlUI document.createElement('DIV');

                
    controlUI.style.backgroundColor 'white';

                
    controlUI.style.borderStyle 'solid';

                
    controlUI.style.borderWidth '2px';

                
    controlUI.style.padding '0 8px';

                
    controlUI.style.cursor 'pointer';

                
    controlUI.style.textAlign 'center';

                
    controlUI.title tooltip;

                
    controlDiv.appendChild(controlUI);



                var 
    controlText document.createElement('DIV');

                
    controlText.style.fontFamily 'Arial,sans-serif';

                
    controlText.style.fontSize '12px';

                
    controlText.style.paddingLeft '4px';

                
    controlText.style.paddingRight '4px';

                
    controlText.innerHTML label;

                
    controlUI.appendChild(controlText);



                
    google.maps.event.addDomListener(controlUI'click'onClickFunction);



                
    mappa.controls[position].push(controlDiv);

            }







    function 
    inizializza_mappa(){ 

       var 
    coordinate_centro_mappa = new google.maps.LatLng(42.00032512.568359); 

       var 
    opzioni = { 

           
    zoom5,

           
    centercoordinate_centro_mappa,

           
    mapTypeIdgoogle.maps.MapTypeId.HYBRID,

       }



    mappa = new google.maps.Map(document.getElementById("mappa"), opzioni) ;



    var 
    zoom_iniziale opzioni.zoom ;

    var 
    coordinate_iniziali opzioni.center ;

    var 
    vista_iniziale opzioni.mapTypeId ;

                

    aggiungi_controllo('Posizione iniziale''Riporta la mappa alle condizioni iniziali'mappa,google.maps.ControlPosition.TOP_RIGHT, function() {

    mappa.setCenter(coordinate_iniziali);

    mappa.setZoom(zoom_iniziale);

    mappa.setMapTypeId(vista_iniziale);

    });






    var 
    finestra_informazione ;

    google.maps.event.addListener(mappa'click', function(event) { if (finestra_informazione) { finestra_informazione.close(); }

    var 
    testo '[b]Coordinate centro mappa[/b]
    mappa.getCenter() ;

    finestra_informazione = new google.maps.InfoWindow({contenttesto}); 

    finestra_informazione.setPosition(mappa.getCenter());

    finestra_informazione.open(mappa);

    }) ;






    Praticamente con la funzione aggiungi controllo si riporta la mappa alle stesse condizioni dopo eventuali zoommate o spostamenti.

    Ecco a me servirebbe invece che quel pulsante aprisse la finestra_informazione, ci sto provando ma senza risultati. Purtroppo io col javascript non vado daccordo

    Per chi volesse vedere lo script in azione eccolo qui http://gmapsv3.4null.net/_0170_memor...postazioni.php
    Errare humanum est, perseverare ovest

  4. #4
    Utente di HTML.it L'avatar di carlo2002
    Registrato dal
    Jun 2002
    Messaggi
    2,746
    Ci ho messo un po' ma ho risolto da solo

    Ecco l'esempio funzionante http://gmapsv3.4null.net/_0170_memor...postazioni.php
    Errare humanum est, perseverare ovest

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.