Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Api Help

  1. #1

    marker api v.3 aiuto

    Salve a tutti, sono un nuovo utente di questo forum e prima ancora di presentarmi chiedo il vostro aiuto
    Premetto che non sono un'esperto di programmazione ma, leggendo quà e là sono riuscito ad inserire finalmente una mappa di google nel mio sito.
    Ora ho un problemone che non riesco a superare, quindi mi affido alla vostra esperienza e cortesia. Arrivo al punto,
    quello che non riesco proprio a fare è:
    -creare tre gruppi di markers,
    -richiamare i gruppi da una checkbox.
    Il tutto possibilmente senza utilizzare db poichè si tratta di una ventina di markers in totale.
    posto un link con l'esempio di quello ke vorrei creare
    http://www.argema.it/mappa.html
    Grazie mille in anticipo...

  2. #2
    quello che ti serve è dichiarare nell'head della pagina o meglio ancora in un file js a parte 3 oggetti letterali o 3 array, o meglio ancora un unico oggetto o un unico array multidimensionale, come ti trovi meglio..

    ogni elemento dell'oggetto/array avrà almeno latitudine e longitudine più tutti gli eventuali campi che potrebbero servirti..

    a questo punto basta che ti scrivi una funzione che va a popolare con i marker la mappa ricevendo un parametro che identifica il gruppo di marker

    ora non sono stato qui a mettere esempi di codice perchè non so a che livello sia la tua conoscenza/dimestichezza con js e api di gmaps
    Ubuntu rulez!! :P

  3. #3
    Intanto grazie per la tua disponibilità
    la mia conoscenza è molto scarsa, tramite delle guide sono riuscito a tirare fuori questo codice che crea la mappa, un marker personalizzato e un pannello con le checkbox.
    sarei molto grado se mi dassi le modifiche che devo apportare al mio codice per connettere le due cose
    codice:
    <title>Mappa</title>
    <style type="text/css">
    <!--
    body,td,th {
    	color: #FF6614;
    	text-align: center;
    }
    #map { width:500px; height:300px; }
    #tooltip { padding:10px; text-align:left; }
    #tooltip p,  #tooltip img { float:left; display:inline; padding:0; margin:0 10px 0 0; }
    -->
    </style>
    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
    <script type="text/javascript">
    var initialize = function() {
    	var latlng = new google.maps.LatLng(37.17809059167483,  15.128270387649536);
    	var options = {
    		zoom: 15,
      		center: latlng,
    		mapTypeId: google.maps.MapTypeId.ROADMAP
      	}; 
    	var map = new google.maps.Map(document.getElementById('map'), options);   
      	var marker = new google.maps.Marker(
      		{
    			position: latlng,
      			map: map,
      			icon: 'http://google-maps-icons.googlecode.com/files/country.png',
      			flat: false
      		}
      	);
      	var tooltip = '<div id="tooltip">'+
    		'[img]images/comune.jpg[/img]'+
      		'
    
    Comune di melilli
    '+
      		'cap: 96010
    '+
      		'provincia: Siracusa
    '+
      		'nazione. Italia</p>'+
      		'</div>';
    	var infowindow = new google.maps.InfoWindow({
      		content: tooltip
      	});
      	google.maps.event.addListener(marker, 'click', function() {
      		infowindow.open(map,marker);
      	});
    }
    window.onload = initialize;
    </script></head>
    
    <body>
    <div class="wrap clearfix">
      <div class="header"> <marquee behavior="slide"> Al vostro servizio per la tutela e la salvaguardia del nostro territorio </marquee> </div>
      <div class="topnav" id="nav">
        <ul>[*]home[*]progetto[*]forum[*]MAPPA[*]sms[*]mail[/list]
      </div>
      <div class="container clearfix">
        <div class="news_right clearfix" id="news">
          <div class="news_cnr_top">[img]images/cnr_tl.gif[/img]</div>
    
    
    CERCA A MELILLI</p>
    
    
    
      <label>
                               // pannello di scelta marker da visualizzare
        <input type="checkbox" name="GruppoCaselleDiControllo1" value="caselladicontrollo" id="GruppoCaselleDiControllo1_0" />
        GROTTE
      </label>
      
    
      <label>
      <input type="checkbox" name="GruppoCaselleDiControllo1" value="caselladicontrollo" id="GruppoCaselleDiControllo1_1" />
        CAVA</label>
      
    
      <label>
        <input type="checkbox" name="GruppoCaselleDiControllo1" value="caselladicontrollo" id="GruppoCaselleDiControllo1_1" />
        PUNTI PANORAMICI
      </label>
        
    
        <label>
        <input type="checkbox" name="GruppoCaselleDiControllo1" value="caselladicontrollo" id="GruppoCaselleDiControllo1_1" />
        RISTORANTI</label>
    </p>

  4. #4
    questo è il codice js che dovrebbe servirti.. non so dirti se funziona in quanto l'ho scritto senza provarlo..

    Codice PHP:
    var groups = [
        [
            [
    45.46559.18623]
            [
    41.89440612.48848]
        ],
        [
            [
    46.46559.18623]
            [
    42.89440612.48848]
        ],
        [
            [
    47.46559.18623]
            [
    43.89440612.48848]
        ]
    ];

    var 
    curCoords false;
    var 
    map;
    var 
    visible_markers = new Array();
    var 
    bounds;

    function 
    initialize() {

        if (
    GBrowserIsCompatible()) {
            
    map = new GMap2(document.getElementById("map"));
            
    map.setUIToDefault();
        }
        
    }

    function 
    showMarkers(group){

        
    curCoords groups[group];
        
    bounds = new GLatLngBounds();
        
    hide_markers();
        
    fill_markers();
        
    map.setCenter(bounds.getCenter());
        
    map.setZoom(map.getBoundsZoomLevel(bounds));
        

    }

    function 
    fill_markers(){

        for(var 
    id in curCoords){
            
    addMarker(curCoords[id][0],curCoords[id][1]);
        }

    }

    function 
    hide_markers(){
        for(var 
    0visible_markers.length;i<li++){
            
    map.removeOverlay(visible_markers[i]);
        }
        
    visible_markers = new Array();
    }

    function 
    addMarker(lat,lon){

        var 
    marker = new GMarker(new GLatLng(latlon));
        
    bounds.extend(new GLatLng(lat,lon));
        
    visible_markers.push(marker);

    }

    initialize(); 
    queste funzioni presuppongono che sugli input o su qualunque altro elemnto tu voglia gestire il popolamento della mappa tu richiami la funzione showMarkers passandogli come parametro l'indice del gruppo che ti interessa mostrare..

    Qundi potrai semplicemente lanciare la funzione tramite l'atributo onclick o onselect o gestire tutto tramite binding con jquery o altre librerie

    con queste funzioni, in particolare con la variabile bounds viene gestito automaticamente lo zoom e il centro della mappa in modo che tutti i punti del gruppo siano visibili anche dopo selezioni successive..

    spero di esserti stato utile e che tu riesca ad integrare questa logica sulla tua pagina
    Ubuntu rulez!! :P

  5. #5
    continuo a rigraziarti per il tuo aiuto, ma sono riuscito a far sparire la mappa
    ti sarei molto grato se mi fai un copia incolla del codice che ho postato io con le opportune modifiche per richiamare il tuo codice,
    un altra domanda il codice che hai postato tu va nella stessa pagina di quello che ho creato io??
    P.S. a prescindere di tutto sono veramente felice di scoprire che esiste gente disponibile come te

  6. #6
    io sono anche disponibile ma non posso fare il lavoro per te.. anche perchè altrimenti non avresti modo di capire le logiche e il funzionamento.. Prova a studiare il codice che ti ho scritto vedendo sulla documentazione delle api di google cosa significano e cosa fanno le funzioni utilizzate, MA prima segui qualche buona guida di base perchè se mi dici che hai una conoscenza scarsa figurati se capisci al volo una logica ad oggetti.. esistono anche libri che trattano esclusivamente le api di google partendo dalle basi più assolute..
    Ubuntu rulez!! :P

  7. #7
    ti ringrazio sempre e comunqua
    finalmente dopo avere fatto notte sono arrivato ad una svolta, credo di essere vicino al risultato che cerco, mi è stato molto utile il tuo aiuto che mi ha indirizzato sulla logica da seguire.
    p.s. ti ho aggiunto tra i contatti di msn, cosi' se capiti dalle mie parti ti offro qualcosa per sdebitarmi

  8. #8

    CI SONO RIUSCITOOOOOO
    GRAZIE ANCORAAAAAAAAAAAAAAAAAAAA

  9. #9
    sono contento che alla fine ne sei venuto a capo.. non ti preoccupare non occorre che mi offri da bere piuttosto ti dico che su msn non mi connetto molto spesso.. uso prevalentemente skype.. però visto che mi hai aggiunto oggi mi connetto così magari scambiamo 2 parole..
    Ubuntu rulez!! :P

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.