2013-07-13 4 views
5

GPS、GPRS、またはWiFiを使用して都市名を取得するにはどうすればよいですか?都市名を特定するためにGPSを使用する必要がある場合は?AndroidとIosでは、GPSを使用する場合と使用しない場合の都市名の取得方法は?

+1

デバイスを探したいGPSを使わずに? iOS上でMapKitが提供します。逆ジオコーダーAPIですが、デバイスの位置を知る必要があります... – nielsbot

答えて

0

built-in to Google Mapsのように、この目的のために逆ジオコーダーが必要です。このHTMLとJavascriptの使用方法の例を以下に示します。

<!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> 

このコードは、this pageを生成するために解釈されます。幸運は...

0

は、一般的に、あなたのケースのIPアドレスで、場所はそれから都市名を取得取得するために使用される溶液であるように思われる外側と内側のためのWi-FiのためのGPSが、実際にそれは間違っているかもしれません

1

まず、あなたの最後の既知の位置を取得し、latlag

よりは、GoogleのAPIのURLでそれを渡す取得Google Web Api

それはあなたのJSONレスポンスが得られますし、あなたが欲しい、これまで何を得ることができるなどの領域、市、州、国

関連する問題