Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    40

    Add marker con google API v3

    Ciao a tutti,

    finora ho capito solo come mettere il marker centrale nella mia mappa. Ma adesso ho necessità di aggiungere altrim maker che gli passo dinamicamente.

    questo è lo script dell'intera pagina

    [CODE]
    <?php
    session_start();

    //connessione al DB
    include("dati_db.inc.php");

    mysql_connect($host,$username,$password)or die("Connessione IMPOSSIBILE al DBMS. TIPO ERRORE:".mysql_error());
    mysql_select_db($database)or die("IMPOSSIBILE selezionare il DataBase");


    $idric=$_GET['id_ric']; //id richiesta
    $sql = "SELECT * FROM richieste WHERE id=".$idric;
    $dati=mysql_query($sql);
    if (!$dati) {
    echo "Query non eseguita correttamente sul DB(".$sql."): ".mysql_error();
    exit;
    }

    $row=mysql_fetch_assoc($dati);
    $luogo=$row['luogo'];
    $indirizzo=$row['indirizzo'];
    $descrizione=$row['descrizione'];
    $oggetto=$row['oggetto'];
    $indirizzogoogle=$luogo." , ".$indirizzo;

    ?>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalableo"/>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <title>Google Maps API v3</title>
    <style type="text/css">
    html, body { margin:0; padding:0; width:100%; height:100%; }
    body { background:#FFFFFF; color:#000000; font-family:Arial, Helvetica, sans-serif; font-size:12px; line-height:150%; text-align:center;}
    #map { width:100%; height:95%; }
    input { width:250px; }
    #tooltip { padding:10px; text-align:left; }
    #tooltip p { padding:0; margin:0 0 5px 0; }
    </style>

    <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=it"></script>
    <script type="text/javascript" src="inc/jquery-1.7.2.js"></script>
    <script type="text/javascript" src="inc/myjs.js"></script>

    <script type="text/javascript">

    var createMap = function() {


    //indirizzo ricavato in precedenza del luogo dell'intervento
    var address = "<?php echo ($indirizzogoogle);?>";


    var geocoder = new google.maps.Geocoder();

    geocoder.geocode( {'address': address}, function(results,status) {
    if (status == google.maps.GeocoderStatus.OK) {

    var options = {
    zoom: 12,
    center: results[0].geometry.location,
    mapTypeId: google.maps.MapTypeId.ROADMAP
    };

    var map = new google.maps.Map(document.getElementById('map'), options);

    var marker = new google.maps.Marker(
    {
    position: results[0].geometry.location,
    map: map,
    title: 'punto di intervento'
    }
    );

    var tooltip = '<div id="tooltip">'+
    '

    Indirizzo punto di intervento
    '+
    results[0].formatted_address+'</p>'+
    '</div>';

    var infowindow = new google.maps.InfoWindow({
    content: tooltip
    });

    google.maps.event.addListener(marker, 'click', function() {
    infowindow.open(map,marker);
    });


    //sedi= new Array;
    var sedi;
    var dim = 0;
    var i= 0;
    //popoli vettore
    <?php
    //recupero info di tutte le sedi
    $query="SELECT * FROM utenti WHERE tipo=3";
    $query_sedi=mysql_query($query);

    //per ogni record creiamo un MARKER
    $contcs=mysql_num_rows($query_sedi);

    ?>var numerosedi = "<?php echo ($contcs);?>";
    alert("numero sedi "+numerosedi);

    <?php

    if($contcs > 0){

    //se ci sono records recuperiamo tutte le sedi
    for($i=0; $i<$contcs; ++$i){
    $line = mysql_fetch_array($query_sedi);
    //recupero alcune informazioni
    $sede = $line['sede'];
    ?>
    sedi = "<?php echo ($sede);?>";
    alert("sede - "+sedi);
    i++;
    alert(i);



    qui dovrei mettere l'aggiunta dei MARKER, ma non so come

    <?php
    }

    }
    ?>

    } else {alert("Problema nella ricerca dell'indirizzo: " + status);}


    });
    };

    function cod_indirizzi(indirizzo){
    geocoder.geocode({'address':indirizzo}, function(result, status){
    map.setCenter(result[0].geometry.location);

    var marker= new google.maps.Marker
    ({map:map,
    position:result[0].geometry.location,
    title: indirizzo});
    });
    }


    window.onload = createMap;
    </script>
    </head>
    <body>

    <div id="map"></div>
    </body>
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    codice:
    var marker= new google.maps.Marker
     ({map:map,
     position:result[0].geometry.location,
     title: indirizzo});
     });
    Questo è il codice per aggiungere un marker alla mappa(codice che già usi), cicla ogni elemento del tuo array e sostituisci la posizione e il titolo con i dati recuperati dall'array. In rete trovi sicuramente qualche esempio

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.