Android マップに小さな問題があります。カスタム マーカーを表示するために ItemizedOverlay クラスを追加しました。マーカーをクリックすると、ウィッチで別のアクティビティに移動したいので、マーカーウィッチのアドレスが表示され、自分の場所がマークされます。アドレスを取得するためにitemizedOverlayクラスで使用しているコードは次のとおりです。
public void getAddressForLocation(final Double lat, final Double lng){
Thread thr = new Thread(){
public void run(){
try{
gc1 = new Geocoder(mContext);
adresi = gc1.getFromLocation(lat, lng, 4);
uiCallback.sendEmptyMessage(0);
}catch(IOException e){
e.printStackTrace();
}
}
};
thr.start();
}
private Handler uiCallback = new Handler(){
@Override
public void handleMessage(Message msg){
if(adresi != null && adresi.size() > 0){
StringBuilder sb = new StringBuilder();
Address adresa1 = adresi.get(0);
for(int i = 0; i < adresa1.getMaxAddressLineIndex(); i++){
sb.append(adresa1.getAddressLine(i)).append(" ");
myAddress = sb.toString();
Log.v("addr", myAddress);
}
}
else{
}
}
};
@Override
public boolean onTap(int index){
OverlayItem item = getItem(index);
GeoPoint p1 = item.getPoint();
Double lat1 = p1.getLatitudeE6()/1E6;
Double lon1 = p1.getLongitudeE6()/1E6;
getAddressForLocation(lat1, lon1);
Intent i = new Intent();
i.setClass(mContext, Tagging.class);
b = new Bundle();
b.putString("adresa", myAddress);
i.putExtras(b);
mContext.startActivity(i);
return true;
}
LogCat でアドレスを取得しますが、他のアクティビティでは何も取得せず、エラーはありません。私はこの問題についての例を見つけることができませんでした。私はこれらすべてに慣れていないので、事前に感謝します