Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/02/2010, 13:47
CeRo_ByTe
 
Fecha de Ingreso: enero-2007
Mensajes: 158
Antigüedad: 17 años, 3 meses
Puntos: 2
Marcador con boton derecho en Google Maps

Buenas tardes,
Estoy intentando realizar un sitio web donde se puedan insertar marcadores dentro de un mapa de Google maps.
He encontrado un código pre-fabricado por internet, pero el marcador lo insertar haciendo clic con el botón izquierdo del mouse.

Podríais indicarme qué debo modificar para hacer la misma función de introducir un marcador pero con el botón derecho?


Archivo PHP:
Código PHP:
if (isset($_POST['submit'])) {
  
$fh file_get_contents('markers.xml');
 
  try {
    
$xml = new SimpleXMLElement($fh);
  } catch (
Exception $e) {
    echo 
$e->getMessage();
  }
 
  
$marker $xml->addChild('marker');
  
$marker->addAttribute('lat'$_POST['lat']);
  
$marker->addAttribute('lng'$_POST['lng']);
  
$marker->addAttribute('msg'utf8_encode($_POST['msg']));
  
$marker->addAttribute('name'utf8_encode($_POST['name']));
  
$marker->addAttribute('link'utf8_encode($_POST['link']));
 
  
$fp fopen('markers.xml','w');
  
fwrite($fp$xml->saveXML());
  
fclose($fp);
  
header('Location:index.php');


Función JQuery:
Código PHP:
$(document).ready(function() {
 
  var 
mark;
  var 
pointA;
 
  if (
GBrowserIsCompatible()) {
    var 
= $("#map")[0];
 
    if(
m) {
 
      var 
map = new GMap2(m);
      var 
start = new GLatLng(63.13450320833446,16.69921875);
      var 
zoomLevel 5;
      
map.setCenter(startzoomLevel);
      
map.addControl(new GSmallMapControl());
 
      $.
get('markers.xml',function(data) {
        $(
data).find('marker').each(function(){
          var 
lat    = $(this).attr('lat');
          var 
lng    = $(this).attr('lng');
          var 
html   = $(this).attr('name')+" ";
          
html      += $(this).attr('msg')+" ";
          
html      += $(this).attr('link');
          var 
point  = new GLatLng(lat,lng);
          var 
marker = new GMarker(point);
 
          
map.addOverlay(marker);
 
          
GEvent.addListener(marker"click", function() {
            
marker.openInfoWindowHtml(html);
          });
 
        });
 
      });
 
      
GEvent.addListener(map'click', function(overlaypoint){
        if(
mark) {
          
map.removeOverlay(mark);
        }
        if(
point) {
          
pointA = new GPoint(point.xpoint.y);
          
mark = new GMarker(pointA);
          
map.addOverlay(mark);
          
map.getCenter(point);
          var 
lat point.y;
          var 
lng point.x;
          var 
form "
          <form action=""index.php\"" 
method="\"post\"">" +
          "
<input name="\"lat\"" type="\"hidden\"" value="\""+lat+"\"" />"+
          "
<input name="\"lng\"" type="\"hidden\"" value="\""+lng+"\"" />"+
          "
Name:
          <
input name="\"name\"" type="\"text\"" value="\"\"" />"+
          "
Msg:
          <
input name="\"msg\"" type="\"text\"" value="\"\"" />"+
          "
Link:
          <
input name="\"link\"" type="\"text\"" value="\"\"" />"+
          "
<input name="\"submit\"" type="\"submit\"" value="\"save\"" />"+
          "
</form>";
          map.openInfoWindowHtml(point,form);
        }
      });
    }
  }
}); 
Gracias de antemano. Un saludo!