osmdroid를 사용하여 역 지오테이션에 대한 예제를 찾고 있지만 찾을 수 없습니다. 같은 일이 osmdroid 보너스 팩과 함께 발생합니다. 누군가 제발 나를 도와 줄 수 있습니까? 여기 osmdroid 보너스 팩 역 지오 위치
는 로그 캣 정보입니다 :10-07 12:11:48.340: W/dalvikvm(5543): VFY: rejected Lorg/osmdroid/bonuspack/location/GeocoderNominatim;.getFromLocation (DDI)Ljava/util/List;
10-07 12:11:48.340: W/dalvikvm(5543): VFY: rejecting opcode 0x0d at 0x007a
10-07 12:11:48.340: W/dalvikvm(5543): VFY: rejected Lorg/osmdroid/bonuspack/location/GeocoderNominatim;.getFromLocation (DDI)Ljava/util/List;
10-07 12:11:48.340: W/dalvikvm(5543): Verifier rejected class Lorg/osmdroid/bonuspack/location/GeocoderNominatim;
10-07 12:11:48.340: D/AndroidRuntime(5543): Shutting down VM
10-07 12:11:48.340: W/dalvikvm(5543): threadid=1: thread exiting with uncaught exception (group=0x40c2a1f8)
10-07 12:11:48.340: E/AndroidRuntime(5543): FATAL EXCEPTION: main
10-07 12:11:48.340: E/AndroidRuntime(5543): java.lang.VerifyError: org/osmdroid/bonuspack/location/GeocoderNominatim
10-07 12:11:48.340: E/AndroidRuntime(5543): at com.aiscad.bustiaciutadana.MapActivity.getMyLocationAddress(MapActivity.java:242)
10-07 12:11:48.340: E/AndroidRuntime(5543): at com.aiscad.bustiaciutadana.MapActivity.dispatchTouchEvent(MapActivity.java:135)
10-07 12:11:48.340: E/AndroidRuntime(5543): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2016)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.view.View.dispatchPointerEvent(View.java:5890)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:3136)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2678)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:1036)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2687)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.os.Handler.dispatchMessage(Handler.java:99)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.os.Looper.loop(Looper.java:137)
10-07 12:11:48.340: E/AndroidRuntime(5543): at android.app.ActivityThread.main(ActivityThread.java:4507)
10-07 12:11:48.340: E/AndroidRuntime(5543): at java.lang.reflect.Method.invokeNative(Native Method)
10-07 12:11:48.340: E/AndroidRuntime(5543): at java.lang.reflect.Method.invoke(Method.java:511)
10-07 12:11:48.340: E/AndroidRuntime(5543): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
10-07 12:11:48.340: E/AndroidRuntime(5543): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
10-07 12:11:48.340: E/AndroidRuntime(5543): at dalvik.system.NativeStart.main(Native Method)
그리고 여기에 코드입니다 : 당신은 표준 안드로이드 Geocoder를 사용 하듯이,
String theAddress;
try {
GeocoderNominatim geocoder = new GeocoderNominatim(getBaseContext());
double dLatitude = latitude;
double dLongitude = longitude;
List<Address> addresses = geocoder.getFromLocation(dLatitude, dLongitude, 1);
StringBuilder sb = new StringBuilder();
if (addresses.size() > 0) {
Address address = addresses.get(0);
int n = address.getMaxAddressLineIndex();
for (int i=0; i<=n; i++) {
if (i!=0)
sb.append(", ");
sb.append(address.getAddressLine(i));
}
theAddress = new String(sb.toString());
direccion = theAddress;
Log.d(TAG, "direccion: " + theAddress);
} else {
theAddress = null;
direccion = null;
}
} catch (Exception e) {
theAddress = null;
e.printStackTrace();
}
구현하려고하는데, 아직 작동하지 않습니다. Geocoderit을 사용하면 (주소가 다른 일부 거리에서는 전달 된 좌표가 올바르지 않음) GeocoderNoinatim에 대해 지오 코더를 변경하려고 할 때 앱이 손상됩니다. – cristina
예를 https://code.google.com/p/osmbonuspack/source/browse/trunk/OSMBonusPackDemo/src/com/osmbonuspackdemo/MapActivity.java?r=48 – cristina
에서 실행하려고 시도하지만 항상 동일한 오류가 발생합니다. line-> GeocoderNominatim 지오 코더 = 새로운 GeocoderNoinatim (this); – cristina