+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 10 su 10

Refresh marker su mappa google v3

  1. #1
    kekko87_ non è in linea Scolaretto
    SAlve a tutti , avrei bisogno di un vostro aiuto, ho una mappa google sulla quale punto dei marker da un pulsante che gli passa la variabile Lat,Lon. Siccome il pulsante (i pulsanti) sono contenuti in una griglia che si aggiorna ogni tot secondi, vorrei fare in modo che la mappa aggiornassse conemporaneamente la posizione del marker puntato in precedenza.

    L'idea c'è l'ho ma non riesco a metterla in pratica e cioè: prelevare l'index di ogni marker, pulire la mappa e poi ricaricare quei marker prendendo la nuova LatLon dalla griglia.

    Mi aiutateee!!

    Grazie in anticipo

  2. #2
    kekko87_ non è in linea Scolaretto
    nessuno ??

  3. #3
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    E quindi che problema hai? Quando crei i marker, li metti in un array. Quando li devi rimuovere, fai un ciclo sugli marker invocando il metodo setMap() e passando come parametro null. In quel caso verranno rimossi dalla mappa.
    Per la nuova posizione usi il metodo setPosition(lat,lon) ma in questo caso non hai necessita di rimovere il marker dalla mappa.
    ℹ️ Leggi di più su bumm ...

  4. #4
    kekko87_ non è in linea Scolaretto
    Intanto ti ringrazio per la risposta, siccome non ho ben capito di seguito posto il pezzo di codice che uso per creare il marker:

    var marker = (new MarkerWithLabel({
    position: new google.maps.LatLng(lati, longi),
    map: map,
    labelContent: targa,
    labelAnchor: new google.maps.Point(22, 0),
    labelClass: "labels", // the CSS class for the label
    labelStyle: {opacity: 0.85},
    draggable: false,
    icon: chiave_sel,
    title: localita
    }));
    Ora la domanda è: siccome questo codice è inserito in una funzione che chiamo quando faccio click su un pulsante, ora volendo inserire un altro pulsante per cancellare quel marker, il nuovo codice lo devo inserire in una nuova funzione?
    Ti ringrazio

  5. #5
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Dichiara una variabile globale per i marker, non mettere la dichiarazione all'interno della funzione...

    var markers = [];

    function addMarker(){
    markers.push(new MarkerWithLabel({
    position: new google.maps.LatLng(lati, longi),
    map: map,
    labelContent: targa,
    labelAnchor: new google.maps.Point(22, 0),
    labelClass: "labels", // the CSS class for the label
    labelStyle: {opacity: 0.85},
    draggable: false,
    icon: chiave_sel,
    title: localita
    }));
    }

    function clearAllMarkers(){
    for(var i=0;i<markers.length, i++){
    markers[i].setMap(null);
    }
    }


    Scrivo da iPad e non riesco a testare il codice che ti ho postato, quindi attenzione agli errori di sintassi e simili....
    ℹ️ Leggi di più su bumm ...

  6. #6
    kekko87_ non è in linea Scolaretto
    Ti ringrazio enormemente per la tua disponibilita, lunedi mattina lo provo e ti faccio sapere. Grazie e buon Weekend

  7. #7
    kekko87_ non è in linea Scolaretto
    Ciao Bumm, ho testato il codice da te postato e funziona, ma quello che serve a me è una cosa leggermente diversa e cioè: io devo eliminare un solo marker dalla mappa e non tutti quanti.
    per farlo credo che devo associare al marker un id in modo da poterlo rintracciare.

    Grazie

  8. #8
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Questa era una domanda? Ma ovvio che se devi eliminare un elemento specifico lo devi identificare prima.
    ℹ️ Leggi di più su bumm ...

  9. #9
    kekko87_ non è in linea Scolaretto
    Infatti, la domanda è come faccio ad assegnargli un id quando lo creo e poi come faccio a leggere l' id dall array?
    Scusa la banalità ma è da poco che ho iniziato con javascript e google maps

  10. #10
    L'avatar di bumm
    bumm non è in linea Topo di biblioteca Ultimo blog: [VB2010] ComboBox ed Enumeratori
    Marker è un oggetto come tutti gli oggetti in javascript, e si comporta come tale.

    var markers = [];

    function addMarker(newId){
    var myMarker = new MarkerWithLabel({
    position: new google.maps.LatLng(lati, longi),
    map: map,
    labelContent: targa,
    labelAnchor: new google.maps.Point(22, 0),
    labelClass: "labels", // the CSS class for the label
    labelStyle: {opacity: 0.85},
    draggable: false,
    icon: chiave_sel,
    title: localita
    });
    myMarker.customId = newId;
    markers.push(myMarker);
    }

    function removeMarkerFromMap(id){
    for(var i=0;i<markers.length, i++){
    if(markers[i].customId==id){
    markers[i].setMap(null);
    }
    }
    }
    ℹ️ Leggi di più su bumm ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. marker di googlemap con asp e db access
    Da marco.santilli nel forum ASP 3, ASP .Net
    Risposte: 5
    Ultimo Post: 11-04-2016, 09:04
  2. Mappa di google da campi indirizzo.
    Da SCvanni nel forum Microsoft Access
    Risposte: 10
    Ultimo Post: 25-08-2015, 12:26
  3. [Javascript] Problema nel disegnare marker google maps
    Da UGoldrake nel forum HTML, CSS e JavaScript
    Risposte: 15
    Ultimo Post: 25-02-2014, 09:27
  4. Risposte: 3
    Ultimo Post: 17-01-2012, 16:47
  5. [Javascript]Google Maps, si visualizza metà mappa
    Da w_t nel forum HTML, CSS e JavaScript
    Risposte: 2
    Ultimo Post: 25-01-2009, 19:00