Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150

    [Google Maps] Problema con un numero elevato dei marker

    Ciao a tutti,
    carico da db i marker dell'azienda per cui sto lavorando su google maps.
    Mi restituisce questo errore, che pare dipendere dal numero eccessivo dei marker utilizzati (siamo a 147)


    Script: http***://maps.gstatic.com/intl/es_ALL/mapfiles/193c/maps2.api/main.js:68
    Chiaramente non riesco a capire quale sia l'errore nello script che vi ho postato e sto cercando eventuali alternative leggendo queste risorse on-line delle mappe di google.

    http://googlemapsapi.blogspot.com/20...r-manager.html (link principale)

    ed in particolare questo

    http://code.google.com/intl/it-IT/ap...GMarkerManager

    Pero' sto in alto mare, sia nella risoluzione del codice attuale che di una eventuale sostituzione.

    Qualcuno ha avuto lo stesso problema o sa come risolverlo?

    Grazie in anticipo

    ps. Vi posto il codice attuale


    Codice PHP:
    <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=CHIAVE"
          type="text/javascript"></script>
    <script type="text/javascript">

        function buscar(){
            var address=document.getElementById("address");
            var city=document.getElementById("city");
            var state=document.getElementById("state");

            showAddress(state.options[state.selectedIndex].text + ", " + city.options[city.selectedIndex].text + ", " + address.value);
        }

        function showAddress(address) {
            var map = initialize();
            var geocoder = new GClientGeocoder();
            geocoder.getLatLng(
            address,
            function(point) {
                if (!point) {
                    alert(address + " not found");
                } else {
                    map.setCenter(point, 13);
                    var marker = new GMarker(point);
                    map.addOverlay(marker);
                    marker.openInfoWindowHtml(address);
                    GEvent.addListener(marker, "click", function() {
                    marker<?=$contador?>.openInfoWindowHtml(address);
                    });
                }
            }
            );
        }

        // Call this function when the page has been loaded
        function initialize() {
            var map = new GMap2(document.getElementById("cw_google_maps"));
            map.addControl(new GMapTypeControl());
            map.setUIToDefault();

            
            <?php
            $contador
    =0;
            
            foreach (
    $aShopList as $keyWarehouse=>$valueWarehouse){
                
    $contador++;
                
    ?>

                var icono<?=$contador?> = new GIcon();
                icono<?=$contador?>.image = "images_localizador.php?logo=<?=$valueWarehouse['logoID']?>";
                icono<?=$contador?>.iconSize = new GSize(<?=$valueWarehouse[logo_width]?><?=$valueWarehouse[logo_height]?>);
                icono<?=$contador?>.iconAnchor = new GPoint(37, 59);
                icono<?=$contador?>.infoWindowAnchor = new GPoint(31, 8);


                var coords = new GLatLng(<?=$valueWarehouse[yMap]?>,<?=$valueWarehouse[xMap]?>);
                var marker<?=$contador?> = new GMarker(coords, icono<?=$contador?>);
                map.addOverlay(marker<?=$contador?>);
                GEvent.addListener(marker<?=$contador?>, "click", function() {
                    marker<?=$contador?>.openInfoWindowHtml('<div style="white-space:nowrap">[b]<?=$valueWarehouse['alias']?>[/b]
    <?=$valueWarehouse['phone1']?>
    <?=$valueWarehouse
    ['address']?>
    <?=$valueWarehouse
    ['city_name']?>
    <?=$valueWarehouse
    ['zipCode']?></div>');
                });

                
                <?php
        
        
            
    }
            
            
    ?>
                
            
            return map;
        }
    </script>

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Aggiorno per la ricerca del problema.

    Nelle FAQ

    http://code.google.com/intl/it-IT/ap...aticmap_limits

    si dice che non c'e' limite

    What is the maximum number of markers or path vertices supported by the Google Static Maps API?

    There is no limit to the number of markers or path vertices supported by the Google Static Maps API. However Static Maps API URLs can be a maximum of approximately 2,000 characters which constrains the number of markers and path vertices that can be specified based on the number of decimal places used when specifying each latitude/longitude pair. For information on how the number of decimal places used relates to the accuracy on the Earth see the Wikipedia article on Decimal Degrees.
    Quello che non mi e' chiaro e' cosa si intende per caratteri. I marker che ho configurato prevedono anche delle descrizioni. Puo' essere questo?

  3. #3
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da blekm
    prova a leggere qua

    http://forum.html.it/forum/showthrea...ghlight=marker

    questa risposta

    http://forum.html.it/forum/showthrea...1#post12047881
    Grazie della risposta e dei link, ma non ho ben capito come modificare la mia funzione...

    Quello che vorrei capire e' se si puo' richiedere a Google, tutti i marker contemporaneamente.
    Probabilmente c'e' scritto nel link che mi hai inviato, ma non riesco a tradurlo in codice.

    In pratica vorrei fare un matrice di tutte le coordinate dei marker e passarli tutti insieme.

    Si puo?

    ciao

  5. #5
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    non aiutavo a modificare la tua funzione, ma cercavo di farti capire da cosa potesse dipendere il tuo problema.
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Originariamente inviato da blekm
    non aiutavo a modificare la tua funzione, ma cercavo di farti capire da cosa potesse dipendere il tuo problema.
    Scusa, ho modificato il post precedente, mentre scrivevi.

  7. #7
    Utente di HTML.it L'avatar di blekm
    Registrato dal
    Jun 2004
    Messaggi
    8,310
    Originariamente inviato da mosquito70
    Grazie della risposta e dei link, ma non ho ben capito come modificare la mia funzione...

    Quello che vorrei capire e' se si puo' richiedere a Google, tutti i marker contemporaneamente.
    Probabilmente c'e' scritto nel link che mi hai inviato, ma non riesco a tradurlo in codice.

    In pratica vorrei fare un matrice di tutte le coordinate dei marker e passarli tutti insieme.

    Si puo?

    ciao
    mi sa di no

    però ti consiglio di aspettare qualche altro parere, qualcuno più esperto del sottoscritto
    Il portale sul turismo a Lucca

    Siti web Lucca

    Vendo Tex a colori di Repubblica (primi 100 numeri) - info in pvt.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Non ti preoccupare

    Quello che vorrei fare, e' adattare quello scritto qui alla mia attuale funzione

    http://forum.html.it/forum/showthrea...8#post12048038

    Ovvero questa parte di codice

    Codice PHP:
    var array_indirizzi = ['indirizzo_1','indirizzo_2','indirizzo_3','indirizzo_4',....,'indirizzo_n'];

    function 
    processaMarker(){
    var 
    indirizzo array_indirizzi.pop();
    geoCodificaMarker(indirizzo);
    }

    function 
    geoCodificaMarker(indirizzo){
    //codice per geocodare l'indirizzo in input e disegnare il marker
    /*
    ...
    */

    if(array_indirizzi.length>0) {
      var 
    indirizzo array_indirizzi.pop();
      
    setTimout(function(){geoCodificaMarker(indirizzo)},500);
    }
    }

    document.body.onload=processaMarker
    Spero che ci sia qualcuno che sappia darmi una mano.
    Intanto provo a modificare io.

    ciao

    Edit: Importante
    Qui ci dovrebbe essere la soluzione

    http://www.svennerberg.com/2009/01/h...n-google-maps/

    "Handling Large Amounts of Markers in Google Maps"

    Direttamente dalle FAQ di google sull'argomento

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Salve,
    avrei bisogno di modificare il codice del primo post, in maniera che possa funzionare secondo quello scritto nel link presente nell'ultimo post.

    In pratica dovrei salvare tutti gli indirizzi/Coordinate presenti nella base dati, in array e poi fare il push in una volta sola, nella mappa di Google.

    Non sono molto pratico di Javascript e sto purtroppo perdendo un sacco di tempo.

    Avrei bisogno di una mano nella modifica del codice

    Grazie in anticipo
    Ciao

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2005
    Messaggi
    1,150
    Non capisco perche' non funziona questo codice (che ho ripreso dal link http://www.svennerberg.com/2009/01/h...n-google-maps/)

    Codice PHP:
    function showAddress(address) {
            var 
    map = new GMap2(document.getElementById("cw_google_maps"));  
            
            
    // Center the map
            
    map.setCenter(new GLatLng(37.38,-5.98), 13);
         
            
    // Create a marker

            
    var markers = new Array();
            
            for(var 
    05+= 0.1) {
                  var 
    marker = new GMarker(new GLatLng(37.38 i, -5.98 i));
                   
                  
    markers.push(marker);
            }
            
            
    mgr.addMarkers(markers);  
            
            
    mgr.refresh();
            
            
    map.addOverlay(markers);  
            
        } 
    Non mi visualizza alcun marker...

    Dove sbaglio?

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.