2016-05-17 9 views
1

Использование MyLocationNewOverlay Я могу показать текущее местоположение пользователя в моем mapview.Как извлечь геоинтеграцию из MyLocationNewOverlay с помощью OSMdroid

mylocation = new MyLocationNewOverlay(mapView); 
      mylocation.enableMyLocation(); 
      mylocation.enableFollowLocation(); 
      IMyLocationProvider s= mylocation.getMyLocationProvider(); 
      mylocation.getMyLocation(); 
      mapView.getOverlays().add(mylocation); 

Чтобы создать маршрут, я пытался получить текущее местоположение пользователя по mylocation.getMyLocation /mylocation.getLastFix(), но как обратный нуль. Как получить геотонные/лат-длинные точки?

ответ

0

Если вы использовали mylocation.getMyLocation(), и он вернул null, это потому, что вы не оставили его достаточно времени, чтобы найти свое местоположение.

Если мы посмотрим на исходный код здесь:

public GeoPoint getMyLocation() { 
    if (mLocation == null) { 
     return null; 
    } else { 
     return new GeoPoint(mLocation); 
    } 
} 

Вы получаете нулевой просто потому, что ваше местоположение на самом деле пустой, то же самое для mylocation.getLastFix()

public Location getLastFix() { 
    return mLocation; 
} 

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

Кроме того, линия:

IMyLocationProvider s= mylocation.getMyLocationProvider(); 

ненужно в этом контексте, помимо этого, вы должны быть на правильном пути.