-1

GoogleMapAndroidでの検索場所に問題があります

これがcari.javaの私のコードです

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;


import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.Overlay;


import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.location.Address;
import android.location.Geocoder;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class cari extends com.google.android.maps.MapActivity {

       TextView error,pt;
       EditText cm;
       String i,returnStringLancar,stat;
       Geocoder geoCoder;
       GeoPoint p;
       MapController controller;
       MapView map;
        /** Called when the activity is first created. */

       @Override


        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.search);

            pt=(TextView)findViewById(R.id.peta);
            cm=(EditText)findViewById(R.id.cariMap);




       }

       public void clickHandler(View view){
           Intent a = null;
            switch (view.getId()){
            case R.id.show:
                geoCoder = new Geocoder(getApplicationContext(),
                        Locale.getDefault());
                List<Address> addresses;
                try {
                    addresses = geoCoder.getFromLocationName(cm.getText().toString(),5);
                if(addresses.size() > 0)
                {
                     p = new GeoPoint( (int) (addresses.get(0).getLatitude() * 1E6), 
                                      (int) (addresses.get(0).getLongitude() * 1E6));

                       controller.animateTo(p);
                       controller.setZoom(12);

                       MapOverlay mapOverlay = new MapOverlay();
                     List<Overlay> listOfOverlays = map.getOverlays();
                     listOfOverlays.clear();
                     listOfOverlays.add(mapOverlay);

                       map.invalidate();
                       cm.setText("");
                }
                else
                {
                        AlertDialog.Builder adb = new AlertDialog.Builder(cari.this);
                        adb.setTitle("Google Map");
                        adb.setMessage("Please Provide the Proper Place");
                        adb.setPositiveButton("Close",null);
                        adb.show();
                }
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
                break;
       }
       }

    @Override
    protected boolean isRouteDisplayed() {
        // TODO Auto-generated method stub
        return false;
    }
}

これは私のMapOverlay.javaです

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapView;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Point;
import android.os.Bundle;

class MapOverlay extends com.google.android.maps.Overlay
{
    Context context;
    GeoPoint p;
    public boolean draw(Canvas canvas, MapView mapView, 
    boolean shadow, long when) 
    {
        super.draw(canvas, mapView, shadow);                   

        //---translate the GeoPoint to screen pixels---
        Point screenPts = new Point();
        mapView.getProjection().toPixels(p, screenPts);

        //---add the marker---
        Bitmap bmp = BitmapFactory.decodeResource(
            context.getResources(), R.drawable.icon);            
        canvas.drawBitmap(bmp, screenPts.x, screenPts.y-32, null);         
        return true;
    }
} 

このプログラムの目的は、住所によるGoogleマップでの場所の検索です(例:5番街)。

しかし、これをデプロイすると、次のようなエラーが表示されます。

java.lang.RuntimeException:アクティビティComponentInfo {udin.googlemap2 / udin.googlemap2.GoogleMap2}をインスタンス化できません:

この:

java.lang.ClassNotFoundException:ローダーdalvik.system.PathClassLoaderのudin.googlemap2.GoogleMap2 [/system/framework/com.google.android.maps.jar:/data/app/udin.googlemap2-1.apk]

4

1 に答える 1

1

<uses-library android:name="com.google.android.maps" />アンドロイドマニフェストで与えられているかどうかを確認してください..それは大丈夫です。

于 2012-12-15T05:38:16.300 に答える