1

嗨,我收到了这个错误。我正在使用此代码http://www.androidhive.info/2012/08/android-working-with-google-places-and-maps-tutorial/

当我点击地图上的显示位置时,我得到了这个错误。请告诉我解决方案

08-28 16:38:20.554: E/System(4978): Uncaught exception thrown by finalizer
08-28 16:38:20.554: E/System(4978): java.lang.IllegalStateException: Binder has been finalized!
08-28 16:38:20.554: E/System(4978):     at android.os.BinderProxy.transact(Native Method)
08-28 16:38:20.554: E/System(4978):     at android.database.BulkCursorProxy.close(BulkCursorNative.java:288)
08-28 16:38:20.554: E/System(4978):     at android.database.BulkCursorToCursorAdaptor.close(BulkCursorToCursorAdaptor.java:133)
08-28 16:38:20.554: E/System(4978):     at android.database.CursorWrapper.close(CursorWrapper.java:49)
08-28 16:38:20.554: E/System(4978):     at android.content.ContentResolver$CursorWrapperInner.close(ContentResolver.java:1591)
08-28 16:38:20.554: E/System(4978):     at android.content.ContentResolver$CursorWrapperInner.finalize(ContentResolver.java:1604)
08-28 16:38:20.554: E/System(4978):     at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:182)
08-28 16:38:20.554: E/System(4978):     at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)
08-28 16:38:20.554: E/System(4978):     at java.lang.Thread.run(Thread.java:856)

这是我的clickevent ..我从上面的android hive示例中引用了samecode ..这是我需要的代码 谁能指导我如何使用JSON在两个位置之间获取Google Directions

点击事件

btnShowOnMap = (Button) findViewById(R.id.btn_show_map);

    // calling background Async task to load Google Places
    // After getting places from Google all the data is shown in listview
    new LoadPlaces().execute();

    /** Button click event for shown on map */
    btnShowOnMap.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            Intent i = new Intent(getApplicationContext(), PlacesMapActivity.class);
            // Sending user current geo location
            Log.i("getLatitude",""+ gps.getLatitude());
            i.putExtra("user_latitude", Double.toString(gps.getLatitude()));
            i.putExtra("user_longitude", Double.toString(gps.getLongitude()));

            // passing near places to map activity
            i.putExtra("near_places", nearPlaces);
            // staring activity
            startActivity(i);
        }
    });
4

2 回答 2

0

这是获取Google两个位置之间的路线的代码。愿这对你有所帮助。

double srcLatitude = 0;
double srcLongitude = 0;
Location location = GeoLocationUtil.getGeoLocation(this);
if (GeoLocationUtil.isValidLocation(location)) {
    srcLatitude = location.getLatitude();
    srcLongitude = location.getLongitude();
}

final Intent intent = new Intent(Intent.ACTION_VIEW,
/** Using the web based turn by turn directions url. */
Uri.parse("http://maps.google.com/maps?" + "saddr=" + srcLatitude + ","
    + srcLongitude + "&daddr=" + destLat + "," + destLong));

intent.setClassName("com.google.android.apps.maps",
    "com.google.android.maps.MapsActivity");
startActivity(intent);
于 2012-08-28T12:34:38.563 回答
0

正如我在这个答案中所写: https ://stackoverflow.com/a/13161591/1716620

我认为这个问题是由于在执行绘图时不正确的缩放级别引起的,在执行绘图之前尝试检查您的缩放级别,我这样解决了

于 2012-12-18T17:04:09.333 回答