我使用這個代碼:地理編碼地址適用於平板電腦,但無法在手機上
String address = "";
Geocoder geoCoder = new Geocoder(getBaseContext(), Locale.getDefault());
try {
List<Address> addresses = geoCoder.getFromLocation(latitude ,longitude , 1);
if (addresses.size() > 0)
{
for (int index = 0;
index < addresses.get(0).getMaxAddressLineIndex(); index++)
address += addresses.get(0).getAddressLine(index) + " "; }
}
catch (IOException e) {
e.printStackTrace();
}
googleMap_v2.animateCamera(CameraUpdateFactory.zoomTo(15));
current_location.setText("Latitude:" + latitude + ", Longitude:"+ longitude);
current_address.setText("current Address :" + address);
googleMap_v2.addMarker(new MarkerOptions().position(new LatLng(latitude, longitude)).title("current status"));
}}
這完全適用於平板電腦,但使我對mobile.Stuck此異常這個從過去72小時無法弄清楚。我真的很感激,如果有人能說出我應該補充的東西嗎?提前致謝。
例外:
FATAL EXCEPTION: main
java.lang.NullPointerException
at com.maps.maps.MainActivity$1.onMapClick(MainActivity.java:442)
at com.google.android.gms.maps.GoogleMap$.onMapClick(Unknown Source)
at com.google.android.gms.maps.internal.h$a.onTransact(Unknown Source)
at android.os.Binder.transact(Binder.java:297)
at bor.a(SourceFile:93)
at maps.af.q.b(Unknown Source)
at maps.ap.bo.b(Unknown Source)
at maps.ap.bk.onSingleTapConfirmed(Unknown Source)
at maps.bt.g.onSingleTapConfirmed(Unknown Source)
at maps.bt.i.handleMessage(Unknown Source)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4945)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
我的猜測是Geocoder無法在您的手機上工作。一個很常見的問題。這可能會導致你的地址爲空。 LogCat中是否存在java.io.IOException:Service not Available消息? – cYrixmorten
我正在使用mapOnClickListener(),所以我得到經緯度,然後我不知道爲什麼它會去異常?順便說一句 – jason
爲什麼地址是空的? – jason