Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40

    [javascrpit] info marker google maps con cicli

    ho il file cars.js da cui estraggo le informazioni e
    ho la mia pagina creata da me ,in cui le informazioni sono estratte con successo e i marker posizionati sulla mappa secondo le coordinate estratte dal file,ma con le informazioni che spuntano dal marker al passaggio del click del mouse sopra,le informazioni non escono,cosa sbaglio? e soprattutto come posso far scorrere nel ciclo anche delle foto indicizzate da 0 a 9 contunte in una cartella a parte? grazie
    codice:
    <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> <title>Google maps</title> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery.min.js"></script> <script type="text/javascript"> window.onload = function(){ $.getJSON( "cards.js", function (data) { var cards = data; var len = cards.length; // imposta le opzioni di visualizzazione var options = { zoom: 4, center: new google.maps.LatLng(cards[0].Latitude,cards[0].Longitude), mapTypeId: google.maps.MapTypeId.SATELLITE }; // crea l'oggetto mappa var map = new google.maps.Map(document.getElementById('map'), options); var marker = new Array(); var infowindow = new Array(); for (a=0; a<cards.length; a++){ marker[a] = new google.maps.Marker({ position: new google.maps.LatLng(cards[a].Latitude,cards[a].Longitude), map: map, title: cards[a].PropertyName }); infowindow[a] = new google.maps.InfoWindow({ content: '[img]slide/'+a+'.jpg[/img]'+ '<div id="tooltip">'+ '
    
    '+cards[a].PropertyName+'
    '+ 'city: '+cards[a].City+'
    '+ 'description: '+cards[a].Description+'</p>'+ '</div>' }); google.maps.event.addListener(marker[a], 'click', function() { infowindow[a].open(map,marker[a]); }); } }); } </script> </head> <body style="margin:0; padding:0;"> <div id="map" style="width:100%; height:100%"></div> </body> </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    se vi può essere utile qui c'è quello che ho fatto http://www.2shared.com/file/A63EymIf/europe.html

  3. #3
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Magari, se posti nel forum "JavaScript" sei più in tema...

    Sposto.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  4. #4
    se formatti il codice meglio...

    Codice PHP:
    createMarker: function (posinfoContentmap) {
        var 
    optionsmarkerinfo;
        
    options = {
            
    positionpos
        
    };

        
    marker = new google.maps.Marker(options);

        
    info = new google.maps.InfoWindow();
        
    info.setContent(infoContent);


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

    con questa funzione crei i marker con infoWindow.... adattala alle tue esigenze..
    Questa volta, più che un voto.. è favoreggiamento.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    creare i marker con le relative info lo avevo già capito come fare,il problema è che io estraggo da un file (che contiene un grosso array) che contiene le coordinate e la descrizione da mettere nelle info. per i marker non c'è stato problema e con un ciclo for gli ho passati tutti,ma non riesco altrettanto a fare il for per le informazioni che scono dopo aver fatto il click sul marker,e non capisco dove sbaglio,qua il mio codice
    Codice PHP:
    <html>
    <
    head>
        <
    meta name="viewport" content="initial-scale=1.0, user-scalable=no"/>
        <
    meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
        <
    title>Google maps</title>
        <
    script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
        <script type="text/javascript" charset="utf-8" src="http://code.jquery.com/jquery.min.js"></script>
        <script type="text/javascript">
            
            window.onload = function(){
                $.getJSON(
                    "cards.js",
                    function (data) {
                        var cards = data;
                        var len = cards.length;
                        // imposta le opzioni di visualizzazione
                        var options = { 
                            zoom: 4,
                            center: new google.maps.LatLng(cards[0].Latitude,cards[0].Longitude),
                            mapTypeId: google.maps.MapTypeId.SATELLITE
                        };

                        // crea l'oggetto mappa
                        var map = new google.maps.Map(document.getElementById('map'), options);

                        var marker = new Array();
                        var infowindow = new Array();
                        for (a=0; a<cards.length; a++){
                            marker[a] = new google.maps.Marker({ 
                                    position: new google.maps.LatLng(cards[a].Latitude,cards[a].Longitude),
                                    map: map,
                                    title: cards[a].PropertyName 
                                });
                                
             
                        
            infowindow[a] = new google.maps.InfoWindow({
            content: '[img]slide/'+a+'.jpg[/img]'+
            '<div id="tooltip">'+
            '

    [b]'+cards[a].PropertyName+'[/b]
    '+
            'city: '+cards[a].City+'
    '+
            'description: '+cards[a].Description+'</p>'+
            '</div>'
            
            });
                    google.maps.event.addListener(marker[a], 'click', function() {
            infowindow[a].open(map,marker[a]);
        });        
                        
                        }
                            
                        
                    });
                }
        </script>
    </head>
    <body style="margin:0; padding:0;">
        <div id="map" style="width:100%; height:100%"></div>
    </body>
    </html> 

  6. #6
    ipotizzando che la tua variabile "cards" abbia tutti i dati necessari:

    Codice PHP:
    function (data) {
        var 
    cards data;
        var 
    len cards.length;
        
    // - perchè crei la mappa al volo qui dentro??? 
        // imposta le opzioni di visualizzazione
        
    var options = { 
            
    zoom4,
            
    center: new google.maps.LatLng(cards[0].Latitude,cards[0].Longitude),
            
    mapTypeIdgoogle.maps.MapTypeId.SATELLITE
        
    };
        
    // crea l'oggetto mappa
        
    var map = new google.maps.Map(document.getElementById('map'), options);
        
    /**************************************/
        
    var markerArray = new Array();

        for (
    a=0a<cards.lengtha++) {
            var 
    marker = new google.maps.Marker(
                {
                
    position: new google.maps.LatLng(cards[a].Latitude,cards[a].Longitude),
                
    mapmap,
                
    titlecards[a].PropertyName 
                
    }
            );
            var 
    infoContent '[img]slide/'+a+'.jpg[/img]'+'<div id="tooltip">'+
                            
    '

    [b]'
    +cards[a].PropertyName+'[/b]
    '
    +
                            
    'city: '+cards[a].City+'
    '
    +
                            
    'description: '+cards[a].Description+'</p>'+
                            
    '</div>'//questo lo farei in modo diverso..
            
    var infowindow = new google.maps.InfoWindow();
            
    infowindow.setContent(infoContent);

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

            
    markersArray.push(marker);
        }

    markers e infowindow non sono degli array..... prova cosi maari c'è qualche errore di scrittura
    Questa volta, più che un voto.. è favoreggiamento.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    piccolo problema però,inserendo la funzione da te suggerita,si vede solo il primo marker e tutti gli altri no

  8. #8
    Originariamente inviato da boxer89
    piccolo problema però,inserendo la funzione da te suggerita,si vede solo il primo marker e tutti gli altri no
    quale funzione?
    Questa volta, più che un voto.. è favoreggiamento.

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    40
    mi sn espresso male,ho scritto il codice così come dà te consigliato,la foto e la descrizione nel marker me le stampa,il problema è che stampa sulla mappa solo il primo marker

  10. #10
    Codice PHP:
    for (var a=0a<cards.lengtha++) { 
    ad occhio... c'è qualche errorino di battitura..
    Questa volta, più che un voto.. è favoreggiamento.

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.