IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Dessiner la route dans GoogleMaps Android


Sujet :

Android

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Dessiner la route dans GoogleMaps Android
    Salut ..
    j'ai rencontré un probleme lors l'execution de mon application sur android 2.2 googleAPI voila un boout de mon code.

    vous pouvez trouver le code source complet dans :

    http://code.google.com/p/j2memaprout...RouteAndroidEx

    Voila le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     public class MapRouteActivity extends MapActivity {
     
            LinearLayout linearLayout;
            MapView mapView;
            private Road mRoad;
     
            @Override
            public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.main);
                    mapView = (MapView) findViewById(R.id.mapview);
                    mapView.setBuiltInZoomControls(true);
     
                    new Thread() {
                            @Override
                            public void run() {
                                    double fromLat = 49.85, fromLon = 24.016667, toLat = 50.45, toLon = 30.523333;
                                    String url = RoadProvider
                                                    .getUrl(fromLat, fromLon, toLat, toLon);
                                    InputStream is = getConnection(url);
                                    mRoad = RoadProvider.getRoute(is);
                                    mHandler.sendEmptyMessage(0);
                            }
                    }.start();
            }
     
            Handler mHandler = new Handler() {
                    public void handleMessage(android.os.Message msg) {
                            TextView textView = (TextView) findViewById(R.id.description);
                            textView.setText(mRoad.mName + " " + mRoad.mDescription);
                            MapOverlay mapOverlay = new MapOverlay(mRoad, mapView);
                            List<Overlay> listOfOverlays = mapView.getOverlays();
                            listOfOverlays.clear();
                            listOfOverlays.add(mapOverlay);
                            mapView.invalidate();
                    };
            };
     
            private InputStream getConnection(String url) {
                    InputStream is = null;
                    try {
                            URLConnection conn = new URL(url).openConnection();
                            is = conn.getInputStream();
                    } catch (MalformedURLException e) {
                            e.printStackTrace();
                    } catch (IOException e) {
                            e.printStackTrace();
                    }
                    return is;
            }
     
            @Override
            protected boolean isRouteDisplayed() {
                    return false;
            }
    }
     
    class MapOverlay extends com.google.android.maps.Overlay {
            Road mRoad;
            ArrayList<GeoPoint> mPoints;
     
            public MapOverlay(Road road, MapView mv) {
                    mRoad = road;
                    if (road.mRoute.length > 0) {
                            mPoints = new ArrayList<GeoPoint>();
                            for (int i = 0; i < road.mRoute.length; i++) {
                                    mPoints.add(new GeoPoint((int) (road.mRoute[i][1] * 1000000),
                                                    (int) (road.mRoute[i][0] * 1000000)));
                            }
                            int moveToLat = (mPoints.get(0).getLatitudeE6() + (mPoints.get(
                                            mPoints.size() - 1).getLatitudeE6() - mPoints.get(0)
                                            .getLatitudeE6()) / 2);
                            int moveToLong = (mPoints.get(0).getLongitudeE6() + (mPoints.get(
                                            mPoints.size() - 1).getLongitudeE6() - mPoints.get(0)
                                            .getLongitudeE6()) / 2);
                            GeoPoint moveTo = new GeoPoint(moveToLat, moveToLong);
     
                            MapController mapController = mv.getController();
                            mapController.animateTo(moveTo);
                            mapController.setZoom(7);
                    }
            }
     
            @Override
            public boolean draw(Canvas canvas, MapView mv, boolean shadow, long when) {
                    super.draw(canvas, mv, shadow);
                    drawPath(mv, canvas);
                    return true;
            }
     
            public void drawPath(MapView mv, Canvas canvas) {
                    int x1 = -1, y1 = -1, x2 = -1, y2 = -1;
                    Paint paint = new Paint();
                    paint.setColor(Color.GREEN);
                    paint.setStyle(Paint.Style.STROKE);
                    paint.setStrokeWidth(3);
                    for (int i = 0; i < mPoints.size(); i++) {
                            Point point = new Point();
                            mv.getProjection().toPixels(mPoints.get(i), point);
                            x2 = point.x;
                            y2 = point.y;
                            if (i > 0) {
                                    canvas.drawLine(x1, y1, x2, y2, paint);
                            }
                            x1 = x2;
                            y1 = y2;
                    }
            }
    }
    et voila les erreurs qui apparaissent :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    07-30 14:03:08.969: W/dalvikvm(6934): Unable to resolve superclass of Lcom/test/MapRouteActivity; (17)
    07-30 14:03:08.969: W/dalvikvm(6934): Link of class 'Lcom/test/MapRouteActivity;' failed
    07-30 14:03:08.969: W/dalvikvm(6934): threadid=1: thread exiting with uncaught exception (group=0x2aac87c8)
    07-30 14:03:08.979: E/AndroidRuntime(6934): FATAL EXCEPTION: main
    07-30 14:03:08.979: E/AndroidRuntime(6934): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.MapRouteActivity}: java.lang.ClassNotFoundException: com.test.MapRouteActivity in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk]
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.os.Handler.dispatchMessage(Handler.java:99)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.os.Looper.loop(Looper.java:123)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread.main(ActivityThread.java:4627)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at java.lang.reflect.Method.invokeNative(Native Method)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at java.lang.reflect.Method.invoke(Method.java:521)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at dalvik.system.NativeStart.main(Native Method)
    07-30 14:03:08.979: E/AndroidRuntime(6934): Caused by: java.lang.ClassNotFoundException: com.test.MapRouteActivity in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk]
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
    07-30 14:03:08.979: E/AndroidRuntime(6934):     ... 11 more

  2. #2
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    Je pense qu'il est préférable que tu mets le code entre les balises adéquate pour que l'on puisse y voir quelque chose

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Salut ,
    voila le code source http://http://code.google.com/p/j2me...RouteAndroidEx
    et voila la liste des erreurs qui apparaissent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    07-30 14:03:08.969: W/dalvikvm(6934): Unable to resolve superclass of Lcom/test/MapRouteActivity; (17)
    07-30 14:03:08.969: W/dalvikvm(6934): Link of class 'Lcom/test/MapRouteActivity;' failed
    07-30 14:03:08.969: W/dalvikvm(6934): threadid=1: thread exiting with uncaught exception (group=0x2aac87c8)
    07-30 14:03:08.979: E/AndroidRuntime(6934): FATAL EXCEPTION: main
    07-30 14:03:08.979: E/AndroidRuntime(6934): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.test/com.test.MapRouteActivity}: java.lang.ClassNotFoundException: com.test.MapRouteActivity in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk]
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.os.Handler.dispatchMessage(Handler.java:99)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.os.Looper.loop(Looper.java:123)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread.main(ActivityThread.java:4627)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at java.lang.reflect.Method.invokeNative(Native Method)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at java.lang.reflect.Method.invoke(Method.java:521)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at dalvik.system.NativeStart.main(Native Method)
    07-30 14:03:08.979: E/AndroidRuntime(6934): Caused by: java.lang.ClassNotFoundException: com.test.MapRouteActivity in loader dalvik.system.PathClassLoader[/data/app/com.test-1.apk]
    07-30 14:03:08.979: E/AndroidRuntime(6934): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
    07-30 14:03:08.979: E/AndroidRuntime(6934): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
    07-30 14:03:08.979: E/AndroidRuntime(6934): ... 11 more

  4. #4
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2012
    Messages
    345
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2012
    Messages : 345
    Points : 103
    Points
    103
    Par défaut
    ton lien est faux, il ne mène vers rien

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut re
    Citation Envoyé par italia57 Voir le message
    ton lien est faux, il ne mène vers rien
    bjr, Si le lien est juste, voila comment acceder : ilya 2 sous repertoire sous "trunk" clique sur trunk "J2MEMapRouteAndroidEx" des sous repertoires s'affichent :
    assets
    bin
    gen
    res
    src
    J2MEMapRouteBlackBerryEx
    et a droite ya le contenu de chaque sous rep .. donc tu trouvra :"androidManifext" et puis quand tu cliques sur res\layout tu trouvra main.xml .. et ainsi de suite copier tout ces fichier dans un nouveau android project et testes si vous avez un API Key pour google bien sure sinon aide moi just pour me corriger les erreurs en lisant le code Merci

  6. #6
    Futur Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2012
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    voila les nouvelles erreure que je rencontre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    08-01 09:40:18.245: E/AndroidRuntime(913): FATAL EXCEPTION: main
    08-01 09:40:18.245: E/AndroidRuntime(913): java.lang.NullPointerException
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at org.ci.geo.route.android.MapOverlay.drawPath(MapRouteActivity.java:121)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at org.ci.geo.route.android.MapOverlay.draw(MapRouteActivity.java:111)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at com.google.android.maps.OverlayBundle.draw(OverlayBundle.java:42)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at com.google.android.maps.MapView.onDraw(MapView.java:530)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.View.draw(View.java:10978)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.drawChild(ViewGroup.java:2887)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.drawChild(ViewGroup.java:2885)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2489)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.View.draw(View.java:10981)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.widget.FrameLayout.draw(FrameLayout.java:450)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:2126)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewRootImpl.draw(ViewRootImpl.java:2026)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1634)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2442)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.os.Looper.loop(Looper.java:137)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at android.app.ActivityThread.main(ActivityThread.java:4424)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at java.lang.reflect.Method.invokeNative(Native Method)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at java.lang.reflect.Method.invoke(Method.java:511)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    08-01 09:40:18.245: E/AndroidRuntime(913): 	at dalvik.system.NativeStart.main(Native Method)

Discussions similaires

  1. Comment dessiner une ligne dans un Chart ?
    Par libititi dans le forum Composants VCL
    Réponses: 3
    Dernier message: 16/06/2005, 14h56
  2. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 14h38
  3. dessiner un tableau dans WORD?
    Par sali dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/01/2005, 14h11
  4. Dessiner une ligne dans un cube transparent ?
    Par Muetdhiver dans le forum OpenGL
    Réponses: 4
    Dernier message: 04/05/2004, 11h06
  5. [PaintBox] Persistance du dessin non créé dans onPaint
    Par princesse dans le forum C++Builder
    Réponses: 10
    Dernier message: 21/04/2004, 17h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo