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 m = $("#map")[0];
if(m) {
var map = new GMap2(m);
var start = new GLatLng(63.13450320833446,16.69921875);
var zoomLevel = 5;
map.setCenter(start, zoomLevel);
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(overlay, point){
if(mark) {
map.removeOverlay(mark);
}
if(point) {
pointA = new GPoint(point.x, point.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);
}
});
}
}
});