このメソッドからメソッド "run()"の値 "pt"にアクセスする必要があります。私はどのようにそれをすることができますか?方法は次のとおりです。メソッド "run()"の "GeoPoint"へのアクセス
public void minimaDistancia(final ItemizedOverlay itemized)
{
final MyLocationOverlay myloc = new MyLocationOverlay(this,mapa);
myloc.enableMyLocation(); //Activamos actualización de la posición
myloc.enableCompass(); //Activamos la brújula
myloc.runOnFirstFix(new Runnable() {
public void run() {
GeoPoint pt = myloc.getMyLocation();
}
});
...
}
ありがとうございます。
私はこの方法では「min_dist」にアクセスする必要があります。
public void processLocation(GeoPoint punto,ItemizedOverlay itemized)
{
double min_dist = 1000;
double dist_aux;
int i;
Location puntoA = new Location("Punto 1");
puntoA.setLatitude(punto.getLatitudeE6());
puntoA.setLongitude(punto.getLongitudeE6());
for(i=0;i<12;i++)
{
Location puntoB = new Location("Punto 2");
puntoB.setLatitude(itemized.getItem(i).getPoint().getLatitudeE6()/1E6);
puntoB.setLongitude(itemized.getItem(i).getPoint().getLongitudeE6()/1E6);
dist_aux = puntoA.distanceTo(puntoB)/1000;
dist_aux = (double)Math.round(dist_aux*100)/100;
if(dist_aux < min_dist)
min_dist = dist_aux;
}
minimun_distance = min_dist;
}
私は私の場所と最寄りの病院間のminimunの距離は(救急アプリケーションである)を取得したいです。 私はこのようなグローバル変数を宣言しようとしました:public static double minimun_distance、しかし値を変更したいときは、単にそれをしません。割り当て内のminumun_distanceの値は変更されません。 このメソッドでトーストを表示しようとすると、アプリケーションがRunTimeError(Eclipseデバッガで表示される)をクラッシュさせるということを忘れてしまいました。
お返事ありがとうございます。
public void minimaDistancia(final ItemizedOverlay itemized)
{
final MyLocationOverlay myloc = new MyLocationOverlay(this,mapa);
myloc.enableMyLocation(); //Activamos actualización de la posición
myloc.enableCompass(); //Activamos la brújula
myloc.runOnFirstFix(new Runnable() {
public void run() {
processLocation(myloc.getMyLocation());
}
});
}
public void processLocation(GeoPoint pt)
{
...
}
EDIT:代わりにこれを試して
私はそれを試みました...しかしそれは動作しません。私がprocessLocationメソッドを呼び出すと、RuntimeExceptionが発生します。何か案が? – Luis
質問に例外を含めると、間違っていることがわかります。 – Femi
私はRunTimeExceptionの問題を解決します。問題はこれです:トーストに表示するために、 "processLocation"によって返されたdouble値にアクセスする必要があります。どうしたらいいですか? run()メソッドは戻り値を許可しないためです。 – Luis