Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Consiglio API google maps con georss

    Salve a tutti, ho creato tramite delle API di google maps una mia mappa personale ma ho un problema:

    1) tramite un file xml georss inserisco dei marker nella mappa solamente che quando faccio un zoom o mi sposto nella mappa, questi marker spariscono.

    Sò già dov'è il problema ma non so cosa modificare per mantenere questi marker "fissi". Nel codice php ho impostato un API con un marker che mi dice, spostandolo ovunque nella mappa, le coordinate geo di qualsiasi punto geografico ma credo che questo marker vada in conflitto con i marker inseriti nel file georss. Come posso risolvere il problema?

    QUESTO E' LO SCRIPT IN PHP DELLA MAPPA:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
      <head> 
        <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
          	<title>Find latitude and longitude with Google Maps</title> 
          <script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAFxd0p5mDcAGBVG1gLQufdxQh9woNt75I8sSdeXsvTwvQgUADaBQEIBlTRhRLhtOGGfW5D-aL3EzMlw"
          type="text/javascript"></script> 
        <script type="text/javascript"> 
     
    
     function load() {
          if (GBrowserIsCompatible()) {
            //<![CDATA[
    	currentdata=new Date();
    	var datatime=currentdata.getTime();
    	var geoXml = new GGeoXml("http://www.sostegnoalreddito.com/virtualagent/googlemaps/feed.xml?"+datatime);
            var map = new GMap2(document.getElementById("map"));
            map.addControl(new GSmallMapControl());
            map.addControl(new GMapTypeControl());
            map.addOverlay(geoXml);
            var center = new GLatLng(41.77131,  	12.39258);
            map.setCenter(center, 5);
            geocoder = new GClientGeocoder();
            var marker = new GMarker(center, {draggable: true});  
            map.addOverlay(marker);
            document.getElementById("lat").innerHTML = center.lat().toFixed(5);
            document.getElementById("lng").innerHTML = center.lng().toFixed(5);
     
    	  GEvent.addListener(marker, "dragend", function() {
           var point = marker.getPoint();
    	      map.panTo(point);
           document.getElementById("lat").innerHTML = point.lat().toFixed(5);
           document.getElementById("lng").innerHTML = point.lng().toFixed(5);
     
            });
     
     
    	 GEvent.addListener(map, "moveend", function() {
    		  map.clearOverlays();
        var center = map.getCenter();
    		  var marker = new GMarker(center, {draggable: true});
    		  map.addOverlay(marker);
    		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
    	   document.getElementById("lng").innerHTML = center.lng().toFixed(5);
     
     
    	 GEvent.addListener(marker, "dragend", function() {
          var point =marker.getPoint();
    	     map.panTo(point);
          document.getElementById("lat").innerHTML = point.lat().toFixed(5);
    	     document.getElementById("lng").innerHTML = point.lng().toFixed(5);
     
            });
     
            });
     
          }
        }
     
    	   function showAddress(address) {
    	   var map = new GMap2(document.getElementById("map"));
           map.addControl(new GSmallMapControl());
           map.addControl(new GMapTypeControl());
           if (geocoder) {
            geocoder.getLatLng(
              address,
              function(point) {
                if (!point) {
                  alert(address + "Indirizzo non trovato, forse hai digitato incorrettamente quello che cercavi oppure hai inserito un numero civico inesistente");
                } else {
    		  document.getElementById("lat").innerHTML = point.lat().toFixed(5);
    	   document.getElementById("lng").innerHTML = point.lng().toFixed(5);
    		 map.clearOverlays()
    			map.setCenter(point, 19);
       var marker = new GMarker(point, {draggable: true});  
    		 map.addOverlay(marker);
     
    		GEvent.addListener(marker, "dragend", function() {
          var pt = marker.getPoint();
    	     map.panTo(pt);
          document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
    	     document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
            });
     
     
    	 GEvent.addListener(map, "moveend", function() {
    		  map.clearOverlays();
        var center = map.getCenter();
    		  var marker = new GMarker(center, {draggable: true});
    		  map.addOverlay(marker);
    		  document.getElementById("lat").innerHTML = center.lat().toFixed(5);
    	   document.getElementById("lng").innerHTML = center.lng().toFixed(5);
     
    	 GEvent.addListener(marker, "dragend", function() {
         var pt = marker.getPoint();
    	    map.panTo(pt);
        document.getElementById("lat").innerHTML = pt.lat().toFixed(5);
    	   document.getElementById("lng").innerHTML = pt.lng().toFixed(5);
            });
     
            });
     
                }
              }
            );
          }
        }
        </script> 
      </head> 
    
    
    <script language="javascript"> 
    function noRightClick() { 
    if (event.button==2) { 
    alert('PAGINA PROTETTA DA COPYRIGHT. PER EVENTUALI PERMESSI CONTATTA amministrazione@sostegnoalreddito.com') 
    } 
    }
    document.onmousedown=noRightClick 
    </script>
    
    
    
    <body onload="load()" onunload="GUnload()" > 
    
    
    
    
    
     
      <form action="#" onsubmit="showAddress(this.address.value); return false"> 
         
    
            
          <input type="text" size="60" name="address" value="Scrivi la città o l'indirizzo dove vuoi inserire la tua struttura" /> 
          <input type="submit" value="Cerca" /> 
          </p> 
        </form> 
     
     <p align="left"> 
     
     <table  bgcolor="#FFFFCC" width="300"> 
      <tr> 
        <td width="100">Latitudine</td> 
        <td id="lat"></td> 
      </tr> 
      <tr> 
        <td width="100">Longitudine</td> 
        <td id="lng"></td> 
      </tr> 
    </table> 
     </p> 
      
    
     
      <div align="center" id="map" style="width: 990px; height: 500px">
    </div> 
       </p> 
      </div> 
      </body> 
     
    </html>
    MENTRE QUESTO E' IL CONTENUTO DEL FILE GEORSS (Feed.xml)

    codice:
    <?xml version="1.0" encoding="iso-8859-1"?>
    <feed xmlns="http://www.w3.org/2005/Atom" 
          xmlns:georss="http://www.georss.org/georss" 
          xmlns:gml="http://www.opengis.net/gml">
       <title>Feed GeoRSS</title>
       <subtitle>Elenco postazioni</subtitle>
    
    
       <entry>
          <title><![CDATA[Colosseo]]></title>
          <link href="http://it.wikipedia.org/wiki/Colosseo"/>
          <summary><![CDATA[Il Colosseo, originariamente conosciuto come Anfiteatro Flavio o semplicemente come Amphitheatrum]]></summary>
          <georss:where>
             <gml:Point>
                <gml:pos>41.824549 12.635651</gml:pos>
             </gml:Point>
          </georss:where>
       </entry>
       
       <entry>
          <title><![CDATA[Parco Traiano]]></title>
    	  <summary><![CDATA[Splendido parco,è a Roma: Wikipedia]]></summary>
          <georss:where>
             <gml:Point>
                <gml:pos>41.888301 12.496669</gml:pos>
             </gml:Point>
          </georss:where>
       </entry>
    
     <entry>
          <title><![CDATA[Prova]]></title>
    	  <summary><![CDATA[Splendido parco,è a Roma: Wikipedia]]></summary>
          <georss:where>
             <gml:Point>
                <gml:pos>43.73935 10.59082</gml:pos>
             </gml:Point>
          </georss:where>
       </entry>
       
    </feed>
    Qualcuno sarebbe in grado di aiutarmi? Ve ne sarei infinitamente grato.....ci sto sbattendo la testa da 2 settimane quasi senza venirne a capo [/quote]

    PS: dimenticavo il link dove è postata la mappa così vi rendete conto direttamente dell errore

    http://www.sostegnoalreddito.com/vir...s/mappaxml.php

  2. #2
    problema risolto mancava un parametro relativo a georss


    Ora quello che mi serverebbe è quello di riuscire a personalizzare i marker direttamente nel file xml di georss. E' possibile questa operazione? oppure la personalizzazione del marker devo farla nel file php?

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.