Как получить расстояние между данным местоположением и текущим местоположением в реальном времени в Android - PullRequest
2 голосов
/ 30 июня 2011

Я пытаюсь найти расстояние между двумя местоположениями в Android с помощью LocationListener и связанных классов и методов.

  1. Мне удалось получить координаты данного адреса с помощью класса геокодировки.А также смог получить расстояние между двумя адресами, используя метод distanceto.

2. Теперь я хочу дать адрес и получить координаты, а затем получить расстояние между предыдущим данным адресом местоположения и текущим местоположением (который меняется) в режиме реального времени.Так как в Android нет текущего метода определения местоположения, я должен использовать Location Listener.

  1. нужное расстояние между заданной координатой местоположения адреса и изменяющимся местоположением в реальном времени при перемещении с использованием locationlistener и других классов и методов местоположения.Я написал и развернул на устройстве со всеми разрешениями в манифесте, но gps отключается, как только я запускаю приложение.Ниже мой код

// ниже кода, чтобы получить координаты местоположения адреса, который является успешным

int i=1;
    Geocoder geo=new Geocoder(this);
    List<Address> addressList = geo.getFromLocationName(adrs,i);
    Address address = addressList.get(0);
    if(address.hasLatitude() && address.hasLongitude()){
          lat = address.getLatitude();
          lon = address.getLongitude(); 
        String adlalo= "Latitude of above address: "+lat +"             " +
        "                     "+"Longitude of above address: "+lon;
        t2.setText(adlalo);
    }

// и ниже класс слушателя местоположения

public class LoctListner implements LocationListener
{
       public void onLocationChanged(Location loc)
    {  
      t3 = (TextView) findViewById(R.id.textView3);  
      l1.setLatitude(lat);
  l1.setLongitude(lon);  


        float d=l1.distanceTo(loc);
        String s="the distance between starting and ending point is "+d;
        t3.setText(s);

 }    

}

помогите мне, где я допустил ошибку.Невозможно увидеть журнал, так как мне нужно вынуть устройство для тестирования. Так как это приложение нуждается в перемещении. Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 12 января 2012

Геокодер бесполезен. Вы не можете получить адрес с помощью геокодера.Вы можете использовать Gson для анализа документа json из карт Google Api. Файл json содержит информацию об адресе.

0 голосов
/ 30 июня 2011

Невозможно увидеть журнал, так как мне нужно вынуть устройство для тестирования. Поскольку этому приложению требуется перемещение

Возможно, вы забыли вызвать requestLocationUpdates ()?

Невозможно просмотреть журнал

Вы не добавили журналы.Использовать Logs.D ("YOURTAG", "Отчеты по журналам");

  Location l2 = new Location("");
  l2.setLatitude(loc.getLatitude());
  l2.setLongitude(loc.getLongitude());

^ Это не требуется

 float door = l1.distanceTo(loc);

Вам нужно подождать несколько минут, пока не появится значок GPSпрекращает анимацию.Это означает, что исправление было достигнуто.Поэтому проверьте, является ли loc null

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...