2011-08-21 33 views
13

¿Cómo puedo ingresar un conjunto de coordenadas y que los mapas de Google muestren una ubicación? Esto es todo lo que se haga a través de JavaScript (es decir: sin interfaz de usuario)Mostrar ubicación Usar coordenadas de longitud/latitud - Google Maps

Cualquier ayuda se agradece

+0

le he pedido a la misma y que responde -> http://stackoverflow.com/questions/ 8766116/how-can-i-get-xy-number-at-every-click-on-google-maps – SamekaTV

+0

@SamekaTV - Ese enlace es el objetivo OPUESTO (haciendo clic en un mapa y recuperando longitud/latitud). A esta pregunta se le da una longitud/latitud conocida, cómo muestra el mapa de esa ubicación. (O tal vez shahmeer estaba haciendo la pregunta relacionada, de cómo mostrar un marcador en esa ubicación, en un mapa que ya está abierto.) – ToolmakerSteve

+0

Un blog detallado: http://sforsuresh.in/display-google-map-locations- using-latitude-longitude/ –

Respuesta

11

Nota: Si ya tiene una latitud/longitud, vea Alteveer’s answer.

Necesitará un servicio de geolocalización para obtener la latitud/longitud. Google Maps ha construido en uno: http://code.google.com/apis/maps/documentation/javascript/services.html#Geocoding

Aquí está un ejemplo de cómo se usa:

<!-- Placeholder for the Google Map --> 
<div id="map" style="height: 512px;"> 
    <noscript> 
    <!-- http://code.google.com/apis/maps/documentation/staticmaps/ --> 
    <img src="http://maps.google.com/maps/api/staticmap?center=1%20infinite%20loop%20cupertino%20ca%2095014&amp;zoom=16&amp;size=512x512&amp;maptype=roadmap&amp;sensor=false" /> 
    </noscript> 
</div> 

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> 
<script type="text/javascript"> 

// Define the address we want to map. 
var address = "1 infinite loop cupertino ca 95014"; 

// Create a new Geocoder 
var geocoder = new google.maps.Geocoder(); 

// Locate the address using the Geocoder. 
geocoder.geocode({ "address": address }, function(results, status) { 

    // If the Geocoding was successful 
    if (status == google.maps.GeocoderStatus.OK) { 

    // Create a Google Map at the latitude/longitude returned by the Geocoder. 
    var myOptions = { 
     zoom: 16, 
     center: results[0].geometry.location, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map"), myOptions); 

    // Add a marker at the address. 
    var marker = new google.maps.Marker({ 
     map: map, 
     position: results[0].geometry.location 
    }); 

    } else { 
    try { 
     console.error("Geocode was not successful for the following reason: " + status); 
    } catch(e) {} 
    } 
}); 
</script> 
+1

Esto responde a un pregunta diferente de la que se le preguntó. La pregunta que se hace es: dada LATITUDE/LONGITUDE, muestre un mapa o un marcador en un mapa. Esta respuesta es: dada una DIRECCIÓN, mostrar un marcador en un mapa. ** Si ya tiene lat/long **, vea las líneas debajo de '// Agregar un marcador en la dirección' para mostrar un marcador. O si desea abrir un nuevo mapa, consulte [Respuesta de Alteveer] (https://stackoverflow.com/a/7135770/199364). – ToolmakerSteve

+0

Ese es un gran punto, Steve. (¡Vaya!) Agregué una nota a esta respuesta. – Jim

Cuestiones relacionadas