Cita:
Iniciado por deywibkiss creo que no me hice entender....
El problema no es convertir una ubicacion desde la BD hacia el mapa, ya manejo bien el geocoder y lo puedo hacer.
Lo que necesito es lo siguiente:
cargar un mapa de google maps
mostrarlo al usuario
que el usuario de click sobre el mapa y las coordenadas del punto recogerlas para despues guardar esas coordenadas en mi BD.
No necesito detectar la ubicacion del usuario... necesito que el usuario elija cualquier punto del mapa y yo guardar ese valor en mi BD
¿Lo que quieres es algo como
ESTO ?
Los datos te los he dejado encima del mapa para que los recojas mediante un pequeño form a enviar o mediante ajax.
El código completo es éste:
Código HTML:
Ver original<!DOCTYPE html>
<meta name="viewport" content="width=device-width, initial-scale=1" /> html { height: 100% }
body { height: 100%; margin: 0px; padding: 0px }
#map_canvas { height: 100% }
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&libraries=weather&language=es"></script> <script type="text/javascript"> <!-- //
var map;
var geocoder;
var infoWindow;
var marker;
window.onload = function () {
var latLng = new google.maps.LatLng(43.268846,-2.934834);
var opciones = {
center: latLng,
zoom: 5,
mapTypeId: google.maps.MapTypeId.HYBRID
};
var map = new google.maps.Map(document.getElementById('map_canvas'), opciones);
geocoder = new google.maps.Geocoder();
infowindow = new google.maps.InfoWindow();
google.maps.event.addListener(map, 'click', function(event) {
geocoder.geocode(
{'latLng': event.latLng},
function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
document.getElementById('direccion').value = results[0].formatted_address;
document.getElementById('coordenadas').value = results[0].geometry.location;
if (marker) {
marker.setPosition(event.latLng);
} else {
marker = new google.maps.Marker({
position: event.latLng,
map: map});
}
infowindow.setContent(results[0].formatted_address+'<br/> Coordenadas: '+results[0].geometry.location);
infowindow.open(map, marker);
} else {
document.getElementById('geocoding').innerHTML =
'No se encontraron resultados';
}
} else {
document.getElementById('geocoding').innerHTML =
'Geocodificación ha fallado debido a: ' + status;
}
});
});
}
// -->
Dirección de destino:
<input type="text" id="direccion" size="60" value="" /> Coordenadas:
<input type="text" id="coordenadas" size="30" value="" /> <div id="map_canvas" style="width:100%; height:90%"></div>