Autore Topic: Api google v2  (Letto 681 volte)

Offline leo87

  • Nuovo arrivato
  • *
  • Post: 33
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    windows 8
Api google v2
« il: 28 Dicembre 2013, 14:42:29 CET »
0
Ciao a tutti...

Stò cercando di fare la mia applicazione utilizzando le google api ma ho dei problemi, ecco i vari file:

classe main cliccando su button parte l'activity Map...e questa prima activity funziona:
Codice (Java): [Seleziona]
public class MainActivity extends Activity {

   
    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
   
    View.OnClickListener gestore2 = new View.OnClickListener() {  
        public void onClick(View view) {
                switch(view.getId()){
                        case R.id.button1:
                                Intent intent=new Intent(getApplicationContext(),Map.class);
                                startActivity(intent);
                                break;
                }
        }
    };
    Button a1=(Button)findViewById(R.id.button1);
    a1.setOnClickListener(gestore2);
   
}
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.main, menu);
                return true;
        }
}

questo è il codice activity map:
Codice (Java): [Seleziona]
public class Map extends FragmentActivity {

    private static final String TAG = null;
        private GoogleMap mMap;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_map);
               
                    FragmentManager fm = this.getSupportFragmentManager();                 
                    SupportMapFragment smf = (SupportMapFragment) fm.findFragmentById(R.id.map);                                   
                    mMap = smf.getMap();
                    LatLng mistrorighi = new LatLng(55.5705311, 51.2504105);
                    CameraPosition cameraPosition = new CameraPosition.Builder()
                    .target(mistrorighi)  
                    .zoom(12)
                    .build();
                   
                    CameraUpdate cameraUpdate = CameraUpdateFactory.newCameraPosition(cameraPosition);
                    mMap.animateCamera(cameraUpdate);
                   
               
                    mMap.setMyLocationEnabled(true);
               
        }
                   

               

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.map, menu);
                return true;
        }

}


questo è il mio manifest:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.myapp"
   android:versionCode="1"
   android:versionName="1.0" >

    <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="18" />

    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
        <uses-library android:name="com.google.android.maps" />

        <activity
           android:name="com.example.myapp.MainActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
           android:name="com.example.myapp.Map"
           android:label="@string/title_activity_map" >
        </activity>
    </application>
         <meta-data
       android:name="com.google.android.maps.v2.API_KEY"
       android:value="mia chiave" />
    <permission
       android:name="com.example.myapp"
       android:protectionLevel="signature" >
    </permission>

    <uses-permission android:name="com.example.myapp" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
    <!--
        The following two permissions are not required to use
             Google Maps Android API v2, but are recommended.
   -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />



    <uses-feature
       android:glEsVersion="0x00020000"
       android:required="true" />

</manifest>

Ho ottenuto la chiave seguendo la guida rilasciata da google....il problema non riesco a trovarlo

Post unito: 28 Dicembre 2013, 14:44:27 CET
il debug mi segnala questo...ma non capisco:

Thread [<1> main] (Suspended (exception RuntimeException))   
   <VM does not provide monitor information>   
   ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2081   
   ActivityThread.handleLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2106   
   ActivityThread.access$700(ActivityThread, ActivityThread$ActivityClientRecord, Intent) line: 134   
   ActivityThread$H.handleMessage(Message) line: 1217   
   ActivityThread$H(Handler).dispatchMessage(Message) line: 99   
   Looper.loop() line: 137   
   ActivityThread.main(String[]) line: 4856   
   Method.invokeNative(Object, Object[], Class, Class[], Class, int, boolean) line: not available [native method]   
   Method.invoke(Object, Object...) line: 511   
   ZygoteInit$MethodAndArgsCaller.run() line: 1007   
   ZygoteInit.main(String[]) line: 774   
   NativeStart.main(String[]) line: not available [native method]   


Post unito: 28 Dicembre 2013, 15:50:24 CET
Ho provato a modificare la mia activity ed ora funziona:
Codice (Java): [Seleziona]
@SuppressLint("NewApi")
public class Map extends Activity {
   
    private GoogleMap map=null;
    private Intent intent;
    private double latitude;
    private double longitude;
    private List<Address> location=null;
    private static final String TAG = null;
   
    @Override
    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_map);
            intent = getIntent();
    }
   
    @SuppressLint("NewApi")
        private void initMap() {
         
           
 
                   
                    latitude=55.5705311;
                    longitude = 51.2504105;


            if (map == null) {
                MapFragment fm = (MapFragment) getFragmentManager().findFragmentById(R.id.map);
                                 map=fm.getMap();
                    if (map == null) {
                            Toast.makeText(getApplicationContext(), "Impossibile creare la mappa", Toast.LENGTH_SHORT).show();
                    }
            }
            map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
            map.setMyLocationEnabled(true);
            map.getUiSettings().setZoomControlsEnabled(true);
            map.getUiSettings().setMyLocationButtonEnabled(true);
            map.getUiSettings().setCompassEnabled(true);
            map.getUiSettings().setRotateGesturesEnabled(true);
            map.getUiSettings().setZoomGesturesEnabled(true);
            MarkerOptions marker = new MarkerOptions();
            marker.position(new LatLng(latitude, longitude));
            marker.title("CIAO");
            map.addMarker(marker);
           
           
                 
           
            CameraPosition cameraPosition = new CameraPosition.Builder().target(new LatLng(latitude, longitude)).zoom(7).build();
            map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
    }
   
    @Override
    protected void onResume() {
            super.onResume();
            initMap();
    }

    @Override
    protected void onPause() {
            super.onPause();
            initMap();
    }

    @Override
    protected void onDestroy() {
            super.onDestroy();
            initMap();
    }
}

Come mai?
« Ultima modifica: 28 Dicembre 2013, 15:50:25 CET da leo87, Reason: Merged DoublePost »