2013-07-13 8 views

Odpowiedz

0

Potrzebujesz odwrotnego geokodera do tego celu, takiego jak ten built-in to Google Maps. Przykładem wykorzystania HTML i Javascript tego następująco:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no"> 
    <meta charset="utf-8"> 
    <title>Reverse Geocoding</title> 
    <link href="/maps/documentation/javascript/examples/default.css" rel="stylesheet"> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
    <script> 
var geocoder; 
var map; 
var infowindow = new google.maps.InfoWindow(); 
var marker; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(40.730885,-73.997383); 
    var mapOptions = { 
    zoom: 8, 
    center: latlng, 
    mapTypeId: 'roadmap' 
    } 
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
} 

function codeLatLng() { 
    var input = document.getElementById('latlng').value; 
    var latlngStr = input.split(',', 2); 
    var lat = parseFloat(latlngStr[0]); 
    var lng = parseFloat(latlngStr[1]); 
    var latlng = new google.maps.LatLng(lat, lng); 
    geocoder.geocode({'latLng': latlng}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     if (results[1]) { 
     map.setZoom(11); 
     marker = new google.maps.Marker({ 
      position: latlng, 
      map: map 
     }); 
     infowindow.setContent(results[1].formatted_address); 
     infowindow.open(map, marker); 
     } else { 
     alert('No results found'); 
     } 
    } else { 
     alert('Geocoder failed due to: ' + status); 
    } 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 

    </script> 
    <style> 
     #panel { 
     position: absolute; 
     top: 5px; 
     left: 50%; 
     margin-left: -180px; 
     width: 350px; 
     z-index: 5; 
     background-color: #fff; 
     padding: 5px; 
     border: 1px solid #999; 
     } 
     #latlng { 
     width: 225px; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="panel"> 
     <input id="latlng" type="text" value="40.714224,-73.961452"> 
     <input type="button" value="Reverse Geocode" onclick="codeLatLng()"> 
    </div> 
    <div id="map-canvas"></div> 
    </body> 
</html> 

Kod ten jest interpretowany wygenerować this page. Powodzenia ...

0

generalnie poza GPS i Wi-Fi do wewnątrz jest używany do dostać miejsce wtedy dostać nazwę miasta z niego swój adres IP, sprawa wydaje się być rozwiązaniem, ale w rzeczywistości może to być źle

1

najpierw uzyskać ostatniej znanej lokalizacji i uzyskać latlag

niż przekazać, że w google api url Google Web Api

To daje json odpowiedzi i można dostać to, co kiedykolwiek chcesz obszar, miasto, województwo, kraj itp

Powiązane problemy