У меня есть страница просмотра карты, которая отображает текущее местоположение на карте.
Я использую MyLocationOverlay для этой цели. Код для этого выглядит следующим образом:
myLocationOverlay = new MyLocationOverlay(this, mapView);
myLocationOverlay.enableCompass();
myLocationOverlay.enableMyLocation();
myLocationOverlay.runOnFirstFix(new Runnable() {
public void run() {
geopoint = myLocationOverlay.getMyLocation();
ItemizedOverlay itemizedoverlay = new ItemizedOverlay(drawable);
try{
overlayitem = new OverlayItem(geopoint, "", "");
}
catch(Exception e){
e.printStackTrace();
}
itemizedoverlay.addOverlay(overlayitem);
mapOverlays.add(itemizedoverlay);
mapController.animateTo(geoPoint);
}
});
Приведенный выше код работает, получает текущее местоположение через gps и устанавливает маркер в этой точке.
Но проблема заключается в коде внутри блока try.
Я получаю нулевое значение внутри геопункта.
На самом деле я должен получить эту точку и сделать некоторые вычисления с расстоянием и всем. Для этого я должен получить правильное значение внутри этого геопункта.
Может кто-нибудь подсказать решение для этого?