Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Besoin d'aide sur eclipse !

28 avril 2013 à 1:20:57

Bonjour Messieurs j'ai un problème et ca fais 3 jours que je cherche la cause sans rien trouvé y as qq un qui peut m'aider  ca sera un grand service

voila mon fichier Main.java:

package com.formation.gmaps;

import java.util.ArrayList;
import java.util.List;

import android.content.Context;
import android.graphics.drawable.Drawable;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.ItemizedOverlay;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
import com.google.android.maps.OverlayItem;

//### pour générer le MD5 :
//C:\Program Files\Java\jre1.6.0_07\bin\keytool -list -keystore "C:\Documents and Settings\trainer\.android\debug.keystore"

//### URL POUR L'API KEY
//http://code.google.com/intl/fr/android/maps-api-signup.html

// 1 - Creation d'un compte Google
// 2 - Récuperation du MD5 de son certificat
// 3 - Récuperation de l'API key depuis le site de google

//### tester le changement de position avec ceci
//telnet localhost 5554
//# geo fix -82.411629 28.054553

public class Main extends MapActivity implements LocationListener {
    private SimpleCursorAdapter adapter;
    MapView            maMap            = null;
    MapController    monControler    = null;
    double            latitude        = 48.875536;
    double            longitude         = 2.335796;
   
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
     
        maMap = (MapView)findViewById(R.id.myGmap);
        maMap.setBuiltInZoomControls(true);
        GeoPoint point = new GeoPoint(microdegrees(latitude),microdegrees(longitude));
        ItemizedOverlayPerso pinOverlay = new ItemizedOverlayPerso(getResources().getDrawable(R.drawable.marker));
        pinOverlay.addPoint(point);
        maMap.getOverlays().add(pinOverlay);
        monControler = maMap.getController();
        monControler.setZoom(12);
        monControler.setCenter(point);
               
        LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000L, 500.0f, this);

    }

    @Override
    public void onLocationChanged(Location location) {
        if (location != null) {
            Toast.makeText(this, "Nouvelle position : " + location.getLatitude() + ", " + location.getLongitude(), Toast.LENGTH_SHORT).show();
            monControler.animateTo(new GeoPoint(microdegrees(location.getLatitude()),microdegrees(location.getLongitude())));
        }
    }
   
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {       
        menu.add(0,100,0,"Zoom In");
        menu.add(0,101,0,"Zoom Out");
        menu.add(0,102,0,"Satellite");
        menu.add(0,103,0,"Trafic");
        menu.add(0,104,0,"Street view");
        return true;
    }
   
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch(item.getItemId()){
        case 100: monControler.setZoom(maMap.getZoomLevel() + 1)    ;break;
        case 101: monControler.setZoom(maMap.getZoomLevel() - 1)    ;break;
        case 102: maMap.setSatellite(!maMap.isSatellite())            ;break;
        case 103: maMap.setTraffic(!maMap.isTraffic())                ;break;
        case 104: maMap.setStreetView(!maMap.isStreetView())        ;break;
        }
        return true;
    }
   
    @Override
    public boolean onPrepareOptionsMenu(Menu menu) {
        menu.findItem(102).setIcon(maMap.isSatellite() ?android.R.drawable.checkbox_on_background:android.R.drawable.checkbox_off_background);
        menu.findItem(103).setIcon(maMap.isTraffic()   ?android.R.drawable.checkbox_on_background:android.R.drawable.checkbox_off_background);
        menu.findItem(104).setIcon(maMap.isStreetView()?android.R.drawable.checkbox_on_background:android.R.drawable.checkbox_off_background);
        return true;
    }
   
    private int microdegrees(double value){
        return (int)(value*1000000);
    }
           
    public class ItemizedOverlayPerso extends ItemizedOverlay<OverlayItem> {

        private List<GeoPoint> points = new ArrayList<GeoPoint>();

        public ItemizedOverlayPerso(Drawable defaultMarker) {
            super(boundCenterBottom(defaultMarker));
        }

        @Override
        protected OverlayItem createItem(int i) {
            GeoPoint point = points.get(i);
            return new OverlayItem(point,"Titre", "Description");
        }

        @Override
        public int size() {
            return points.size();
        }

        public void addPoint(GeoPoint point) {
            this.points.add(point);
            populate();
        }
       
        public void clearPoint() {
            this.points.clear();
            populate();
        }
    }

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

    @Override
    public void onProviderDisabled(String provider) {
        // TODO Auto-generated method stub       
    }

    @Override
    public void onProviderEnabled(String provider) {
        // TODO Auto-generated method stub       
    }

    @Override
    public void onStatusChanged(String provider, int status, Bundle extras) {
        // TODO Auto-generated method stub       
    }
}

et le fichier manifestandroid:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.formation.gmaps"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <uses-library android:name="com.google.android.maps" />
        <activity android:name=".Main"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="3" />

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_GPS"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_ASSISTED_GPS"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


</manifest>

et le fichier string:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">Hello World, Main!</string>
    <string name="app_name">gmaps</string>
    <string name="apikey">AIxxxxxxxxxxxxxxxxxxx</string>
</resources>

je ne vois pas la carte l'application demarre mais pas de carte

l'erreur de logcat et celle la :

Trace       error opening trace file:no such file directory

MAPACTIVITY    could'nt get connection factory client

vous pouvez me dire il est ou l'erreur

Merci beaucoup

  • Partager sur Facebook
  • Partager sur Twitter
28 avril 2013 à 17:14:21

Bonjour,

Le déterrage n'est pas une pratique que nous acceptons sur le Site du Zéro.

Je ferme.

  • Partager sur Facebook
  • Partager sur Twitter
Si vous voulez me retrouver, rendez-vous sur ZesteDeSavoir.