Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331

    javascript + googleMaps: gestione array di markers

    Salve a tutti.
    Sto lavorando con GoogleMaps in javascript e avrei bisogno di associare a un array di google.maps.Marker un'unica funzione javascript da attivare quando clicco sul marker e che mi visualizzi in una alert la coordinata del marker sulla mappa.

    Con il seguente codice:

    codice:
    function createPoi {
      if (poiArray) {
         for (i in poiArray) {
             var pos = new google.maps.LatLng(poiArray[i].latitude, poiArray[i].longitude);
    	 poiServerArray[i] = new google.maps.Marker({
    							map: googleMap,
    							title: '',			
    							position: pos
    						});	
             google.maps.event.addListener(poiServerArray[i], 'click', function(data) { drawRouteToPoi(poiServerArray[i], i); });		 
         }
      }
    }
    
    
    function drawRouteToPoi(marker, pos) {
    	alert(marker.getPosition()+" "+pos);
    }
    Quando io clicco su qualsiasi marker della mappa mi torna la posizione e l'indice dell'ultimo inserito.
    Dove sbaglio?

    Ciao, grazie
    Sandro

  2. #2
    function drawRouteToPoi(marker, pos) {
    alert(marker.getPosition()+" "+pos);
    }


    prova a farla diventare :

    function drawRouteToPoi(marker, pos) {
    alert(marker.position.lat());
    alert(marker.position.lng());
    }

    fammi sapere se ti da le coordinate giuste ....

    io faccio :

    google.maps.event.addListener(map, 'click', function(event) {
    deleteOverlays(); //per far sparire il vecchio marker//
    addMarker(event.latLng);
    map.setCenter(event.latLng);
    $('#geox').val(marker.position.lat());
    $('#geox_text').html(round_to(marker.position.lat( ),6));
    $('#geoy').val(marker.position.lng());
    $('#geoy_text').html(round_to(marker.position.lng( ),6));


    addMarker fa :

    function addMarker(location) {
    marker = new google.maps.Marker({
    position: location,
    draggable: true,
    map: map
    });
    $('#geox').val(marker.position.lat());
    $('#geoy').val(marker.position.lng());
    $('#zoom').val(map.getZoom());
    markersArray.push(marker);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    331
    Niente da fare, quando clicco su qualsiasi marker mi restituisce i dati dell'ultimo inserito (compreso l'indice che mi faccio stampare nell'alert).

    Adesso sto provando questo codice:

    codice:
    for (i in poiArray) {
      var pos = new google.maps.LatLng(poiArray[i].latitude, poiArray[i].longitude);
      poiServerArray[i] = new google.maps.Marker({
    							map: googleMap,
    							title: '',			
    							position: pos
    						});	
     google.maps.event.addListener(poiServerArray[i], 'click', function() { 
    					                  var posMarker = poiServerArray[i].position;
    					                  var index = i;
    					                  alert(posMarker+" "+index ); }			 
    }

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.