2016-05-17 3 views
1

MyLocationNewOverlayを使用する私のマップビューでユーザーの現在の位置を表示できます。OSMdroidを使用してMyLocationNewOverlayからgeopointを取得する方法

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

ルートを作成するには、私はmylocation.getMyLocation /mylocation.getLastFix(によって、ユーザの現在位置を取得しようとした)が、両方がnullを返します。どのようにgeopoint /緯度の長いポイントを取得するには?

答えて

0

mylocation.getMyLocation()を使用した場合は、nullが返されました。あなたの場所を見つけるのに十分な時間をかけなかったからです。

私たちはここにソースコードを見てみた場合:

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

をあなたの場所が実際にnullであるという理由だけで、あなたはnullを取得し、同じことがmylocation.getLastFix()

public Location getLastFix() { 
    return mLocation; 
} 

のために行くあなたは、少なくとも待っていることを確認します場所を取得する前にrunOnFirstFixを終了してください。

また、ライン:

IMyLocationProvider s= mylocation.getMyLocationProvider(); 

は、この文脈では不要であるが、それはさておき、あなたは正しい軌道上にある必要があります。

関連する問題