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)

ここに私のクリックイベントがあります..上記のアンドロイドハイブのサンプルから同じコードを参照しました..ここに私のコードがあり ます

onclick イベント

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

私がこの答えに書いたように: https ://stackoverflow.com/a/13161591/1716620

問題は描画中のズームレベルが正しくないことが原因だと思います。描画を実行する前にズームレベルを確認してみてください。そのようにして解決しました。

于 2012-12-18T17:04:09.333 に答える
0

これは、2 つの場所の間の経路を取得するためのコードです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 に答える