1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies. En savoir plus.
  2. Bonjour tout le monde ! Veillez consulter la Politique de forum pour comprendre nos règles, Merci a vous !
    Rejeter la notice

Using OpenStreetMap with windev mobile (native java)

Discussion dans 'Windev Mobile' créé par redha2010, Fev 8, 2022.

  1. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
     
    Tags:
    WX1331 et taoufik1_1 aiment ça.
  2. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226
    code du projet

    procédure CreatOSM


    Code (Text):
    mport android.content.Context;
    import android.os.Bundle;
    import android.preference.PreferenceManager;
    import org.osmdroid.api.IMapController;
    import org.osmdroid.config.Configuration;
    import org.osmdroid.tileprovider.tilesource.TileSourceFactory;
    import org.osmdroid.util.GeoPoint;
    import org.osmdroid.views.MapView;
    import android.view.ViewGroup;

    public static void CreatOSM(int nIdParent,double Lat,double Longt)
    {
        ViewGroup parent = (ViewGroup) getActiviteEnCours().findViewById(nIdParent);
        if(parent != null)    {
            // Suppression du contenu précédent du champ
            parent.removeAllViews();
            map = new MapView(getContexteApplication());
     
            Configuration.getInstance().load(getApplicationContext(), PreferenceManager.getDefaultSharedPreferences(getApplicationContext()));
            map.setTileSource(TileSourceFactory.MAPNIK);
            map.setBuiltInZoomControls(true);
            map.setMultiTouchControls(true);
            mapController = map.getController();
            mapController.setZoom(15);
         
            GeoPoint startPoint = new GeoPoint(Lat,Longt);
            mapController.setCenter(startPoint);
            parent.addView(map);
        }
     
    }

    private static MapView map;
    private static IMapController mapController;
    procédure CreerMarqueur


    Code (Text):
    import org.osmdroid.views.overlay.ItemizedIconOverlay;
    import org.osmdroid.views.overlay.ItemizedOverlayWithFocus;
    import org.osmdroid.views.overlay.OverlayItem;
    import android.graphics.drawable.Drawable;
    import java.util.ArrayList;
    public static void CreerMarqueur(String sTitre,double Lat,double Longt)
    {
        ArrayList<OverlayItem> items = new ArrayList<>();
        OverlayItem home = new OverlayItem("Mon Marqueur:",sTitre,new GeoPoint(Lat,Longt));
        Drawable mDraw = home.getMarker(0);
        items.add(home);
        ItemizedOverlayWithFocus<OverlayItem> mOverly = new ItemizedOverlayWithFocus<OverlayItem>(getApplicationContext(),
        items, new ItemizedIconOverlay.OnItemGestureListener<OverlayItem>() {
            @Override
            public boolean onItemSingleTapUp(int index, OverlayItem item) {
                return true;
            }
         
            @Override
            public boolean onItemLongPress(int index, OverlayItem item) {
                return false;
            }
        });
        mOverly.setFocusItemsOnTap(true);
        map.getOverlays().add(mOverly);
        map.invalidate();
    }
    initialisation du champs OpenstreetMap sur le conteneur natif du windev mobile

    Code (Windev):

    gMaPosition est une géoPosition
    gMaPosition =

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ()
    SI

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ALORS RETOUR

    rMaLatitude est un réel sur 8 = gMaPosition..Latitude
    rMaLongitude est un réel sur 8 = gMaPosition..Longitude
    CreatOSM(NATIF_SansNom1..Valeur,rMaLatitude,rMaLongitude)

    Marquer ma position selon GPS récupéré :
    Code (Windev):
    CreerMarqueur("Je suis ici",gMaPosition.Latitude,gMaPosition.Longitude)
    dépendance utilisée:

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

     
    WX1331, Man et ProDev aiment ça.
  3. saxrub

    saxrub New Member

    Inscrit:
    Mar 18, 2021
    Messages:
    15
    J'aime reçus:
    1
    Super travail !
    Y a-t-il un moyen pour :
    1 - suivre les déplacements avec positionnement du marqueur aux nouvelles coordonnées ?
    2 - travailler sur des cartes offline ?
    Pascal
     
  4. redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Super travail !
    Y a-t-il un moyen pour :
    1 - suivre les déplacements avec positionnement du marqueur aux nouvelles coordonnées ?
    2 - travailler sur des cartes offline ?
    Pascal
    Cliquez pour agrandir...
    1- suivre les déplacement

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!


    2- tutorials:

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    ,

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!



    pour moi je prefere

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    :)

    [​IMG]
     
    #4 redha2010, Fev 28, 2022
    Dernière édition: Fev 28, 2022
  • saxrub

    saxrub New Member

    Inscrit:
    Mar 18, 2021
    Messages:
    15
    J'aime reçus:
    1
    Salut
    Évidemment les

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    en WL mais la proc java de création de marqueur supprime-t-elle l'ancien marqueur s'il existe ? Sinon, comment le supprimer ?
    Pascal
     
  • redha2010

    redha2010 Active Member

    Inscrit:
    Jan 25, 2018
    Messages:
    230
    J'aime reçus:
    226

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    Salut
    Évidemment les

    Bonjour visiteur, Merci de vous Inscrire ou de vous connectez pour voir les liens!

    en WL mais la proc java de création de marqueur supprime-t-elle l'ancien marqueur s'il existe ? Sinon, comment le supprimer ?
    Pascal
    Cliquez pour agrandir...
    pour la procedure java de creation du Marqueur j'avais utiliser une liste qui contient plusieurs marqueurs mais on peut creer facilement un marqueur en utilisant la calsse Marker simplement:

    Code (Text):
    Marker startMarker = new Marker(map);
    startMarker.setPosition(startPoint);
    startMarker.setAnchor(Marker.ANCHOR_CENTER, Marker.ANCHOR_BOTTOM);
    startMarker.setTitle("Titre");
    map.getOverlays().add(startMarker);
    map.invalidate();
    on peut changer la position du marqueur par la fonction setPostion

    pour la classe Marker il faut ajouter
    Code (Text):
    import org.osmdroid.views.overlay.Marker;
    je pense qu'il ya d'autre classe pour surveiller la position
    j ai pas utiliser tout les classes de OSMdroid :)
     
  • saxrub

    saxrub New Member

    Inscrit:
    Mar 18, 2021
    Messages:
    15
    J'aime reçus:
    1
    Merci pour tes réponses. J'essaye tout ça !
    A+
     
  • jbigny

    jbigny New Member

    Inscrit:
    Oct 14, 2022
    Messages:
    1
    J'aime reçus:
    0
    Bonjour,
    J'aimerais savoir si quelqu'un à déjà codé une fonction qui permet de renvoyer les coordonnées du point central de la carte affiché (ou d'un point cliqué sur la carte) dans un champ de saisie d'un formulaire ?
     
  • Partager cette page

    Chargement...