2016-02-17 2 views
0

Я хочу, чтобы название места или здания вместо адреса в приложении andoird использовалось с помощью GPS.Как я могу найти место или имя здания вместо адреса в android с помощью GPS?

Например: Если я в торговом центре, Мое приложение должно показать, что я в торговом центре XXXX.

В настоящее время я получаю адрес, используя широту и долготу.

Если следовал этой http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/

ответ

2

С помощью Google Geocoder вы сможете добиться того, что вы ищете. Он возвращает объект Address, содержащий всю информацию о местоположении в latitude и longitude, которые вы передали ему. Пример того, как его можно использовать, можно найти ниже:

if (Geocoder.isPresent()) { 
     Geocoder gc = new Geocoder(context); 
     List<Address> addresses = gc.getFromLocation(latitude, longitude, 1); 
     // do stuff with addresses 
    } 

Если он не вернет вам хороший Address объект, который вы все еще можете попробовать с помощью метода URL:

URL url = new URL("http://maps.googleapis.com/maps/api/geocode/json?latlng=" + String.valueOf(latitude) + "," + String.valueOf(longitude) + "&sensor=false&language=" + Locale.getDefault().getLanguage()); 
    HttpURLConnection connection = (HttpURLConnection)url.openConnection(); 

    InputStream in = connection.getInputStream(); 
    JSONObject responseData; 
    try { 
     Scanner s = new Scanner(in).useDelimiter("\\A"); 
     try { 
      String text = s.next(); 
      responseData = new JSONObject(text); 
     } finally { 
      s.close(); 
     } 
    } finally { 
     in.close(); 
    } 

    // Do stuff with responseData, all the usefull informations are in this payload 
+0

работал отлично. благодаря – Benedict