我想找到一些關於osmdroid反向地理定位的例子,但找不到任何。 osmdroid獎勵套件也會發生同樣的情況。 有人可以幫我嗎?osmdroid獎金包反向地理定位
這裏是logcat的信息:
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)
這裏是代碼:
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的作品(但地址是不正確的coodinates通過一些街道的差異),但是當我嘗試更改地理編碼爲GeocoderNominatim應用程序粉碎。 – cristina 2014-10-07 08:43:35
我嘗試運行https://code.google.com/p/osmbonuspack/source/browse/trunk/OSMBonusPackDemo/src/com/osmbonuspackdemo/MapActivity.java?r=48 – cristina 2014-10-07 09:57:43
示例,但始終也是如此line - > GeocoderNominatim geocoder = new GeocoderNominatim(this); – cristina 2014-10-07 09:58:39