我对地理编码器有一点问题是从地址获取纬度和纬度:
这是我的代码:
for (Garage g : XMLGarage) {
List<Address> address;
address = coder.getFromLocationName(
g.getAddress(), 5);
if (address != null) {
Address location = address.get(0);
g.setLatitude(location.getLatitude());
g.setLongitude(location.getLongitude());
...
Run Code Online (Sandbox Code Playgroud)
错误是:
08-18 14:28:56.026: WARN/System.err(359): java.io.IOException: Service not Available
08-18 14:28:56.026: WARN/System.err(359): at
android.location.Geocoder.getFromLocationName(Geocoder.java:178)
08-18 14:28:56.026: WARN/System.err(359): at
com.amt.android.garage.Garage.postData(Garage.java:269)
08-18 14:28:56.026: WARN/System.err(359): at
com.amt.android.garage.GarageForm$2.onClick(GarageForm.java:86)
08-18 14:28:56.026: WARN/System.err(359): at
android.view.View.performClick(View.java:2485)
08-18 14:28:56.026: WARN/System.err(359): at
android.view.View$PerformClick.run(View.java:9080)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Handler.handleCallback(Handler.java:587)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Handler.dispatchMessage(Handler.java:92)
08-18 14:28:56.036: WARN/System.err(359): at
android.os.Looper.loop(Looper.java:130)
08-18 14:28:56.036: WARN/System.err(359): at
android.app.ActivityThread.main(ActivityThread.java:3683) …Run Code Online (Sandbox Code Playgroud) 描述:我正在使用Google maps API V2.我已Android Reverse Geocoding在触摸位置实施.
问题:它抛出异常
try {
addresses = geocoder.getFromLocation(latitude, longitude,1);}
catch (IOException e)
{
e.printStackTrace();
if(AppConstants.DEBUG)Log.v(AppConstants.DEBUG_TAG," e.printStackTrace(): "+e.getMessage());
}
Run Code Online (Sandbox Code Playgroud)
我收到latitude并且longitude价值正确,但我无法理解为什么它会抛出exception,我也做了谷歌搜索,但它无能为力.
任何人都可以详细解释一下吗?