2016-04-18 12 views
0

ich hhave dies im htmlWie bekomme ich den Namen der Stadt heraus?

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<meta charset="UTF-8"> 
<meta name="viewport" content="initial-scale=1.0, user-scalable=no"/> 
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
<title>Geolocation</title> 
<script src="https://code.jquery.com/jquery-2.2.3.min.js" integrity="sha256-a23g1Nt4dtEYOj7bR+vTu7+T8VP13humZFBJNIYoEJo=" crossorigin="anonymous"></script> 
<script src="funciones.js"></script> 
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
</head> 
<body> 
<button id="startGeo">Click here to check your geolocation abilities</button> 
</body> 
</html> 

und ich habe dies in einer function.js Datei:

$(document).ready(function(){ 
$("#startGeo").click(checkLocation); 

function checkLocation(){ 
    if (navigator.geolocation) { 
     navigator.geolocation.getCurrentPosition(getLocation,locationFailed); 
     //document.write("you have geolocation"); 
    } 
    else { 
     document.write("you don't have geolocation"); 
    } 
}//ends checkLocation() 

function getLocation(position){ 
    var latitud = position.coords.latitude; 
    var longitud = position.coords.longitude; 
    var exactitud = position.coords.accuracy; 

    alert("latitud: " + latitud + " longitud: " + longitud + " exactitud: " + exactitud); 
    //document.write("we received your location"); 
} 
function locationFailed(){ 
    document.write("we didn't get your location. Please check your settings"); 
} 
}); 

daraus ich die Koordinaten bekommen, aber ich habe überhaupt keine Ahnung, wie man Erhalte den Namen der Stadt ... oder den Namen des Staates. Ich sah eine ähnliche Frage beantwortet, aber sie schienen json zu benutzen. Ich möchte keine Karte, nur die Info, es kann Text oder eine Warnung sein. Bitte irgendwelche Ideen?

Antwort

0

können Sie Reverse Geocoding API verwenden

Beispielaufruf:

http://maps.googleapis.com/maps/api/geocode/json?latlng=50.123413,-22.12345&sensor=true

Sie können Ihre getLocation Funktion ersetzen wie die (entsprechende Prüfungen vornehmen, bevor data.results [2] Zugriff):

Sie können die folgende Geige überprüfen, um sie in Aktion zu sehen:

https://jsfiddle.net/5tzxks10/

+0

vielen Dank dafür. in der Tat, dank deiner Hilfe bekomme ich die Info, aber die falsche, es gibt mir eine Adresse, die ich nicht kenne. Ist das vielleicht ein Problem mit dem JSON in der API? Ich habe andere Codes laufen lassen und es gibt mir verschiedene Orte, abhängig vom verwendeten Browser. Ich frage mich, ob das etwas mit den Daten zu tun haben könnte.Ergebnisse [2]. Wenn das der Fall ist, wie kann ich wissen, welche zu verwenden? –

+0

In der Tat hängt es von den Daten Ergebnissen ab [2] Ich setze 2 hier nur als Beispiel –

+0

Bitte überprüfen Sie die API-Dokument, um besser über die Antwort zu wissen: –

0

+ Nowres Rafed änderte ich Ihren Code ein wenig:

function getLocation(position){ 
var latitud = position.coords.latitude; 
var longitud = position.coords.longitude; 
var exactitud = position.coords.accuracy; 

$.get('https://maps.googleapis.com/maps/api/geocode/json?latlng=' + latitud + ',' + longitud, function(data) { 
    alert(data.results[1].formatted_address); 
}); 

//alert("latitud: " + latitud + " longitud: " + longitud + " exactitud: " + exactitud); 
//document.write("we received your location"); 

es weitere Informationen auf diese Weise gibt. Ich danke dir sehr. Was ich gerne wissen würde (wenn es möglich ist), wo ich lesen oder wissen kann, wie ich eine bestimmte Antwort erhalte, habe ich gelesen, dass wenn man die Ergebnisse erhält, es mehr als ein Ergebnis liefert. Ich habe die Nummer wie erwähnt geändert und die verschiedenen Optionen getestet. Aber gibt es irgendwo wo ich nach diesen Ergebnissen suchen kann? verzeih mir die Mühe, ich bin neu dabei.

Verwandte Themen