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

WinDev Discussion :

google maps offline [Sources]


Sujet :

WinDev

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Septembre 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut google maps offline
    Bonjour a ts
    je suis dans un projet qui consiste a mettre en place une plateforme de tracking des vehicules sans avoir besoin d'une connexion internet. les positions des vehicules nous serons envoyé par SMS grace a une passerelle GSM. il faudrait que je recuperer ses coordonnés et que je les place sur une carte sans avoir besoin d'une connexion internet.
    Je veux deja savoir si c possible d'integrer Google Maps dans WD17 sans avoir besoin d'une connexion internet
    SVP j'ai besoin de votre aide.Merci

  2. #2
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 803
    Points
    3 803
    Par défaut
    Bonjour,

    Je pense qu'il faut mieux te diriger vers Google Earth.
    Sur les moteurs de recherches, il y a des API et des Active X pour son utilisation.
    Il y a aussi des info pour l'utilisation de Google Earth en mode hors connexion.
    Bonne recherche
    la touche est ton amie. l'aide ne mord pas quand on la consulte...
    PS : n'oubliez jamais que nous ne sommes pas avec vous sur le projet. Donc plus vous donnez d'informations et d'exemples de codes et plus nous pourrons vous aider. (Un exemple vaut mieux que de longs discours...)

    Pensez à utiliser les votes et à cliquer sur , merci

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    +1 à Sylvain.

    Sinon, à mon travail, on utilise une vieille version de map point (microsoft). On doit pouvoir l'interfacer avec un activex (pas testé).
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre éprouvé

    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    402
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2009
    Messages : 402
    Points : 915
    Points
    915
    Par défaut
    Citation Envoyé par fijad Voir le message
    Je veux deja savoir si c possible d'integrer Google Maps dans WD17 sans avoir i
    Et bien tout est dans le titre de ta question et la réponse est évidemment Non...
    on ne peut pas utiliser un service web sans web....
    Enfin tu pourrai charger un fond de carte sans Internet
    Enregistrer les coordonnées envoyées par SMS sans internet
    Placer ces points sur ton fond de carte sans Internet

    Mais utiliser Google Maps sans internet c'est comme si je te demandais de fiare une recherche Google sans internet...
    Donc si la connexion est vraiment un factuer limitant tu dois te pencher sur d'autres solutions pour tes cartes.
    Bon courrage

  5. #5
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Bonjour

    Je travaille activement sur ce sujet actuellement, et je vous propose une collaboration entre développeurs intéressés.

    Quand on veut faire de la cartographie off-line en WD, il faut se poser 3 questions :

    1. Fond des cartes ?
    2. Stockage des données ?
    3. Moteur de rendu ?

    1. Fond de carte
    Deux type de données sont manipulables : raster (image) ou vectoriel.
    Dans les deux cas, il faut se renseigner sur les projections utilisées, car les données que l'on va manipuler le sont dans des référentiels résultant de la projection sur un plan (la carte) de données positionnées sur le globe terrestre.

    1.a. Raster
    Dans ce cas, je vous conseille un très bonne référence qui explique la projection et le géoréférencement utilisé par Google : http://www.maptiler.org/google-maps-...ds-projection/

    Quasiment toutes les sources gratuites utilise maintenant ce géoréférencement avec des dalles de 256 pixels de côté indexées en zoom/x/y. Je peux fournir le code WD de calcul des dalles.

    Les sources gratuites sont :
    - serveur de dalles : OSM, Mapquest, .... Google donnera plein de liens et un petit programme WD avec des HTTPrequetes permet de capturer les dalles....
    - programme : MOBAC, Maperitive permettent de récupérer directement les dalles

    1.b. Vectoriel
    Les sources gratuites sont également très nombreuses (même l'IGN en fournit) : OSM, etc ...
    Les données sont accessibles la plupart du temps dans des fichiers shapefile, intégrant le géoréférencement et la projection utilisée.

    2. Stockage des données

    2.a. Raster
    Pour des images, on peut utiliser une base HF locale indexée en zoom/x/y. Pas mal, car performante en temps d'accès, mais faire vite attention à la taille de la base ....

    2.b. Vectoriel
    Dans ce cas, abandonner la base HF car un référencement en lat/lon sera très pénalisant lors des recherches spatiales. Il faut passer avantageusement sur une base localhost de type Postgresql avec une cartouche PostGIS. Cela permettra des requêtes purement spatiale et s'interface de manière optimale avec plein de GIS.
    J'utilise d'ailleurs qGIS ou uDig qui permette de créer de chouettes cartes ou de manipuler les données spatiales de ma base PostGIS.

    3. Moteur de rendu

    3.a. Raster en pur WD
    C'est jouable en manipulant des dalles dans des champs image, en ajoutant des images pour les POIS, mais il faut se développer l'intégralité du moteur avec les déplacements souris, etc.... C'est ce que j'avais commencé à faire, et j'ai un proto de composant pas complètement opérationnel ....

    3.b. Vectoriel en pur WD
    A abandonner tout de suite, car le moteur de dessin de WD est beaucoup trop lent ....

    3.c. Utilisation d'un composant externe
    C'est ce que je regarde actuellement, et je propose un débat technique car je coince un peu ....

    Les solutions que j'ai référencées :
    - api qGIS : http://www.qgis.org/api/
    - Mapwindow (http://www.mapwindow.org/index.php) avec les Api MapwinGIS (http://mapwingis.codeplex.com/) ou DotSpatial (http://dotspatial.codeplex.com/)
    - geoTools (http://www.geotools.org/) en développant une app WD JAva

    Je n'ai pas réussi pour le moment à intégrer dans un app WD ces composants externes, car je manque d'expérience sur l'instanciation et la manipulation dans WD d'objets en externe. HELP !!!

    PS : si mon post vous convient, faire un pouce +1 SVP !

  6. #6
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Résultats des essais sur l'activeX MapWinGIS :
    - installation de l'activeX sur un PC W7 64 bits : l'activeX 32 bits est visible mais pas le 64 bits ...
    - création d'une fenêtre et connexion à l'activeX "MapControl" : OK, les méthodes et propriétés sont visibles dans l'outil activeX de WD
    - création d'un petit programme pour accéder à l'activeX : OK ... le rond et la ligne apparaissent correctement ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ============ prg test =========================
    nUm_layer est un entier
    nUm_layer = AX_map>>NewDrawing (0)
    AX_map>>DrawCircleex (nUm_layer,50,50,10,255,1)	
    AX_map>>DrawLineex (nUm_layer,50,50,100,100,10,255)
    =============================================
    C'est maintenant que cela se complique, car pour ajouter des layers de différente nature dans le contrôle, il faut pouvoir instancier des objets (par ex des shapefiles), y associer un fichier et ensuite les déposer dans le control.

    On peut le faire ainsi en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim SfWorld as New MapWinGIS.Shapefile
    SfWorld.Open ("c:\temp\world_adm0.shp")
    AX_map.AddLayer (sfWorld,True)
    Donc, là je coince, car je ne sais pas comment faire l'équivalent d'un New sur un objet Shapefile, puis l'ouvrir avec un fichier .... l'envoyer vers le contrôle serait alors : AX_map>>AddLayer (sfWorld,True)

    Qui peut m'aider et a déjà utilisé un ActiveX et le reste avec WD ???

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Waouh, très impressionnant le contrôle ActiveX MapWinGIS.

    Un petit lien... ?
    http://mapwingis.codeplex.com/

    courdi95, tu as bien défriché le terrain !
    j'espère que tu vas continuer parce que ça peut faire un beau projet !

    Citation Envoyé par courdi95 Voir le message

    C'est maintenant que cela se complique, car pour ajouter des layers de différente nature dans le contrôle, il faut pouvoir instancier des objets (par ex des shapefiles), y associer un fichier et ensuite les déposer dans le control.

    On peut le faire ainsi en VB :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Dim SfWorld as New MapWinGIS.Shapefile
    SfWorld.Open ("c:\temp\world_adm0.shp")
    AX_map.AddLayer (sfWorld,True)
    Donc, là je coince, car je ne sais pas comment faire l'équivalent d'un New sur un objet Shapefile, puis l'ouvrir avec un fichier .... l'envoyer vers le contrôle serait alors : AX_map>>AddLayer (sfWorld,True)

    Qui peut m'aider et a déjà utilisé un ActiveX et le reste avec WD ???
    Une adaptation en WLangage... à tester.

    Code WLangage : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SfWorld est un objet Automation "MapWinGIS.Shapefile"
    SfWorld>>Open("c:\temp\world_adm0.shp")
    AX_map>>AddLayer(sfWorld,-1)

  8. #8
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Génial, on progresse !

    L'objet est reconnu mais il y a plantage lors de l'ouverture du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Vous avez appelé la méthode Automation 'Open'.
    En tentant d'invoquer la méthode <Open> ou de lire la propriété <Open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 1'
    En tentant d'invoquer la méthode <Open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 1'
    En tentant de lire la propriété <Open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas' 
    En tentant d'écrire la propriété <Open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas'

  9. #9
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Il semblerait que la reponse soit ici:
    http://tunidev.net/utilisation-d-un-activex-t9430.html

    J'essaye demain !

  10. #10
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Résultat des essais matinaux :

    - MapWinGIS : c'est OK maintenant..... j'arrive à ouvrir un shapefile !
    il faut utiliser resource au lieu de open

    - DotSpatial : comme je trouvais les fonctions de MapWinGIS un peu limitées, et comme visiblement les développeurs ont basculé sur DotSpatial, j'ai donc essayé cet assemblage .NET -> nickel !
    il suffit d'importer l'assemblage minimal proposé sur le site de DotSpatial dans Windev, et toutes les classes se trouvent intégrées dans l'IDE de Windev

    on inclut ensuite un champ .NET, attention pas un champ XAML et on lui associe un control de type Map

    ensuite toutes les manipulations sont conformes à la doc !

    pour DotSpatial, les commandes sont simples

    DOTNET_map1.AddLayer()
    DOTNET_map1 est le champ DotNet de type Map (trouvé dans la liste des contrôles DotSpatial) intégré dans la Fenêtre

    génial .... entre MapWinGIS et DotSpatial, je vais plutôt utiliser celui-ci ....

    - qGIS : fort de ces expériences réussies, je me suis mis en tête d'importer l'assemblage qGIS .... en important les DLL qgis_core.dll, etc ....

    mais là, visiblement ce n'est pas bon ... mon expérience du dev .NET est très limité ... et c'est sans doute pour cela que cela ne fonctionne pas (ce n'est sans doute pas un assemblage ...) ?? remarque : l'erreur n'est pas liée au framework .NET qui est installé sur mon PC . J'ai essayé en plaçant toutes les DLL que j'ai trouvé dans le répertoire programme de QGIS : même résultat.

    autre point : peut être faut-il des fichiers .XML associées aux .DLL comme pour le DotSpatial ?

    Qui peut m'aider pour qGIS ?

    =====================
    Erreur lors de l'importation de l'assemblage <qgis_core.dll>.
    Vérifiez que la version du framework .NET installé est au moins égale à la version du framework .NET utilisé pour compiler cet assemblage.
    Si l'assemblage référence d'autres assemblages, vérifiez qu'ils sont présents dans le même répertoire ou dans le GAC (répertoire <Windows>\assembly).
    Echec de l'ouverture des metadata de l'assemblage <C:\Program Files (x86)\Quantum GIS Lisboa\packDLL\qgis_core.dll>.
    Erreur -2147024885
    ====================

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Bonjour à tous et à courdi95 en particulier,

    Merci pour les informations supplémentaires.

    A l'occasion, je te serai reconnaissant de nous dire quelles sont les fonctionnalités supplémentaires ou améliorées que le contrôle .NET DotSpatial apporte, si on le compare avec son précurseur, le contrôle ActiveX MapWinGIS.
    Ou du moins les fonctionnalités qui, pour toi, font la différence...

    Je n'ai pas trop le temps de regarder ça de près, mais ça m'intéresse bien.
    Ne serait-ce que pour la "veille technologique".

    Merci.

  12. #12
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Je suis en train de regarder les différences en terme de fonctionnalités (layer, shapefiles, etc ... ).

    Par contre en déploiement, ce que je vois déjà, c'est qu'il n'est pas nécessaire d'avoir l'activeX (mapwingis) installé sur le PC client ! car il suffit de charger les assemblages .net mis au préalable dans un répertoire ... Donc à mon avis plus simple.

    Par ailleurs, en terme de développement, les objets et les classes sont intégrés dans l'IDE (donc beaucoup plus simple pour le codage que de regarder à chaque fois les caractéristiques de l'ActiveX).

    Donc suite au prochain numéro .... Mais si quelqu'un souhaite partager ici son expérience, je suis preneur !

    PS : merci pour vos pouces +1 (je suis passé en confirmé !)

  13. #13
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Bonjour,

    Les nouvelles après quelques heures passées à m.... sur les différents outils GIS.

    Je vais commencer par les mauvaises expériences ...

    qGIS
    -> pas du tout réussi à utiliser l'API : si quelqu'un sait comment faire, je suis preneur !

    DotSpatial
    -> ce semblait être (et est sans doute) la solution la plus prometteuse car :
    - plus complète que MapWinGIS (intègre entre autre les forms pour contrôle... on verra que dans MapWinGIS il faut se les refrapper)
    - ne nécessite pas d'installation (à priori) sur le poste utilisateur, car on charge les assemblages dynamiquement

    -> j'ai réussi très facilement à créer des objets .net dans une fenêtre windev, à créer des boutons pour déclencher des chargements

    -> souci (majeur) : plantage aléatoire au chargement de plusieurs layers

    -> conclusion : je n'ai pas trop le temps à vérifier ce qui ne pourrait pas aller surtout sur un bug aléatoire / manque sans doute de stabilité

    MapWinGIS
    -> c'est finalement vers cette solution que je m'oriente car suffisamment vieille pour être bien stable (risque : maintenance évolutive car l'équipe est passée sur DotSpatial visiblement)

    -> au contraire de DotSpatial, uniquement l'objet Map est disponible en ActiveX ... en principe on peut ajouter des contrôles .NET en piquant ceux utilisés par MapWindow 4.8 (qui utilise MapWinGIS), mais j'ai eu un plantage au chargement des assemblages de contrôles Legend ...

    -> conclusion: je ne vais utiliser que l'ActiveX pur et refaire les contrôles en Windev pur.

    PS : si ce post vous intéresse, ne pas oublier de faire un pouce +1 ! Merci d'avance.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Bonjour à tous et à courdi95 en particulier,

    Concernant les + / - du contrôle ActiveX MapWinGIS par rapport à la bibliothèque + contrôle .NET DotSpatial.

    Citation Envoyé par courdi95 Voir le message
    Par contre en déploiement, ce que je vois déjà, c'est qu'il n'est pas nécessaire d'avoir l'activeX (mapwingis) installé sur le PC client ! car il suffit de charger les assemblages .net mis au préalable dans un répertoire ... Donc à mon avis plus simple.
    Pas sûr...
    A mon humble avis, installer un contrôle ActiveX est plus simple que son équivalent d'assemblage .NET + la bonne version du framework .NET.

    Citation Envoyé par courdi95 Voir le message
    Par ailleurs, en terme de développement, les objets et les classes sont intégrés dans l'IDE (donc beaucoup plus simple pour le codage que de regarder à chaque fois les caractéristiques de l'ActiveX).
    Là c'est certain que c'est un argument de taille.
    IL faut constater que les contrôles ActiveX sont à peine intégrés dans l'environnement de développement de WinDev.

    Et l'outil externe WDXView affiche les méthodes/propriétés du contrôle ActiveX Map, mais il n'affiche rien sur les autres classes de la bibliothèque MapWinGIS incluse avec le composant !
    Comme par exemple les classes Shapefile, Image, Grid.

    Heureusement, il existe d'autres outils pour visualiser les classes fournies par les composants ActiveX, mais c'est bien moins pratique que l'intégration dans l'EDI.

    Graphe des classes de la bibliothèque MapWinGIS.


    Ici la version interactive du graphe des classes de la bibliothèque MapWinGIS.
    http://www.mapwindow.org/documentation/mapwingis4.8/


    En ce qui concerne les possibles incompatibilités entre le WLangage et certaines méthodes du contrôle ActiveX Map...
    Un rappel des messages précédents:
    Citation Envoyé par courdi95 Voir le message
    L'objet est reconnu mais il y a plantage lors de l'ouverture du fichier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Vous avez appelé la méthode Automation 'Open'.
    En tentant d'invoquer la méthode <Open> ou de lire la propriété <Open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 1'
    Citation Envoyé par courdi95 Voir le message
    Il semblerait que la reponse soit ici:
    http://tunidev.net/utilisation-d-un-activex-t9430.html
    Citation Envoyé par courdi95 Voir le message
    - MapWinGIS : c'est OK maintenant..... j'arrive à ouvrir un shapefile !
    il faut utiliser resource au lieu de open
    Si besoin, on peut contourner l'incompatibilité sur le passage de paramètres en encapsulant les appels aux méthodes qui posent problème, en utilisant un autre ActiveX pré-installé sur Windows: MSScriptControl.ScriptControl.
    ...A envisager ultérieurement.

  15. #15
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Citation Envoyé par OnePoint Voir le message
    Bonjour à tous et à courdi95 en particulier,

    Concernant les + / - du contrôle ActiveX MapWinGIS par rapport à la bibliothèque + contrôle .NET DotSpatial.
    Merci !

    En partageant nos expériences, cela va aller plus vite.


    Pas sûr...
    A mon humble avis, installer un contrôle ActiveX est plus simple que son équivalent d'assemblage .NET + la bonne version du framework .NET.
    Ok , tout a fait d'accord.

    J'avais oublié le coup de l'installation .net obligatoire . C'est plus simple de distribuer l'activex ....



    IL faut constater que les contrôles ActiveX sont à peine intégrés dans l'environnement de développement de WinDev.

    Et l'outil externe WDXView affiche les méthodes/propriétés du contrôle ActiveX Map, mais il n'affiche rien sur les autres classes de la bibliothèque MapWinGIS incluse avec le composant !
    Comme par exemple les classes Shapefile, Image, Grid.

    Heureusement, il existe d'autres outils pour visualiser les classes fournies par les composants ActiveX, mais c'est bien moins pratique que l'intégration dans l'EDI.
    Je decouvre la faiblesse de windev sur ce sujet. J'ai ete fort surpris de voir effectivement que l'outil ne presente pas toutes les classes !

    Quel outil est ce que tu recommandes ?

    Si besoin, on peut contourner l'incompatibilité sur le passage de paramètres en encapsulant les appels aux méthodes qui posent problème, en utilisant un autre ActiveX pré-installé sur Windows: MSScriptControl.ScriptControl.
    ...A envisager ultérieurement.
    Ok tu aurais un petit exemple de cas d'utilisation ?

  16. #16
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Citation Envoyé par courdi95 Voir le message
    Citation Envoyé par OnePoint Voir le message
    Heureusement, il existe d'autres outils pour visualiser les classes fournies par les composants ActiveX, mais c'est bien moins pratique que l'intégration dans l'EDI.
    Je decouvre la faiblesse de windev sur ce sujet. J'ai ete fort surpris de voir effectivement que l'outil ne presente pas toutes les classes !

    Quel outil est ce que tu recommandes ?
    • OLE/COM Object Viewer :
    Outil de référence de Microsoft. Le nom de l'exécutable est OleView.
    Il est installé avec Visual Studio.
    Il peut être téléchargé chez Microsoft ou via des sites de téléchargement.

    • Explorateur d'objets dans l'EDI VBA :
    Si tu utilises un logiciel de Microsoft Office (ou n'importe quel logiciel qui intègre VBA), alors tu peux directment utiliser l'explorateur d'objets, après avoir ajouté dans le projet une référence au fichier bibliothèque à étudier (ocx, dll, tlb).

    • Il y a beaucoup de visionneuses freeware:
    Si tu veux un poids plume (sans installation) tu peux utiliser PVXTLB offerte par ProvideX Plus.
    ftp://pvxplus.com/docs/other/PVXTLB.zip
    ftp://pvxplus.com/docs/other/TLBDoc.pdf

    • Et pour se faire plaisir, WDTypeLib, une visionneuse développée avec WinDev 11.

  17. #17
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    303
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 303
    Points : 812
    Points
    812
    Par défaut
    Pour revenir à la question de départ,

    Citation Envoyé par fijad Voir le message
    Bonjour a ts
    je suis dans un projet qui consiste a mettre en place une plateforme de tracking des vehicules sans avoir besoin d'une connexion internet. les positions des vehicules nous serons envoyé par SMS grace a une passerelle GSM. il faudrait que je recuperer ses coordonnés et que je les place sur une carte sans avoir besoin d'une connexion internet.
    Je veux deja savoir si c possible d'integrer Google Maps dans WD17 sans avoir besoin d'une connexion internet
    Et pourquoi pas une approche alternative basée sur MapWinGIS et OpenStreetMap.

    Georeferencing Open Street Map Tiles to Use with MapWinGIS
    http://www.codeproject.com/Articles/...-to-Use-with-M

    L'avantage c'est que les fichiers qui correspondent aux "dalles" de la carte (Tile en anglais) peuvent être téléchargés et conservés sur le disque local, pour une éventuelle utilisation déconnectée.

    Maintenant, est-ce que la cartographie libre de openStreetMap est suffisamment à jour pour le territoire où les véhicules circulent ?...
    Il faut aller voir.

  18. #18
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    oui .... je suis également sur cette piste là.

    D'ailleurs en voulant implémenter un bon tutorial se trouvant sur CodeProject, je suis tombé sur un os ....

    Pour faire le step 1 du tutorial en WD (http://www.codeproject.com/Articles/...g-MapWinGIS-an ), pas de souci .... hormis le fait que les constantes ne passent pas bien, mais c'est mineur ...

    Commande initiale (qui plante .... cela demande chargement de la DLL interop.mapwingis.dll)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AX_map>>CursorMode = MapWinGIS.tkCursorMode.cmNone
    Remplacée par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    AX_map>>CursorMode = 0
    ou
    AX_map>>CursorMode = 1
    Je me suis donc attaqué au step 2 (http://www.codeproject.com/Articles/...g-MapWinGIS-an), dans lequel on essaye de charger une table ...

    Voici mon code WD :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Create a new instance for MapWinGIS.Table
    //MapWinGIS.Table myTable = new MapWinGIS.Table();
    myTable est un objet Automation "MapWinGIS.Table"
     
    //Define the data source of Table instance
    //myTable.Open(@"D:\GISSampleData2\arabcntry.dbf", null);
    myTable>>open("C:\Temp\Desktop samples\arabcntry.dbf",null)
     
    // variantes essayées et qui ne marchent pas non plus :
    //myTable>>open("C:\Temp\Desktop samples\arabcntry.dbf","null")
    //myTable>>open("C:\Temp\Desktop samples\arabcntry.dbf")
    Et voilà l'erreur que j'obtiens (cela ressemble à l'erreur dont on a déjà parlé sur les "open" de shapefile et qu'on a détourné avec la commande "resource") : visiblement le passage de paramètre est problématique.

    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
    Erreur à la ligne 9 du traitement Clic sur BTN_resetsymbology1.
    Vous avez appelé la méthode Automation 'open'.
    En tentant d'invoquer la méthode <open> ou de lire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 2'
    En tentant d'invoquer la méthode <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 2'
    En tentant de lire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas' 
    En tentant d'écrire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas'
     
    ----- Informations techniques -----
     
    Projet : DesktopGIS
     
    Appel WL :
    Traitement de 'Clic sur BTN_resetsymbology1' (FEN_Desktop_Part_2.BTN_resetsymbology1), ligne 9, thread 0
     
    Que s'est-il passé ?
    Vous avez appelé la méthode Automation 'open'.
    En tentant d'invoquer la méthode <open> ou de lire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 2'
    En tentant d'invoquer la méthode <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020005, Type incorrect pour le paramètre 2'
    En tentant de lire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas' 
    En tentant d'écrire la propriété <open>, l'objet Automation/ActiveX a renvoyé l'erreur suivante :
    'Erreur 80020003, Le membre demandé n'existe pas'
     
    Code erreur : 2205
    Niveau : erreur fatale (EL_FATAL)
     
    Dump de l'erreur du module 'wd180vm.dll' (18.0.77.3).
    Identifiant des informations détaillées (.err) : 130001
    Informations supplémentaires :
    EIT_PILEWL :
    Clic sur BTN_resetsymbology1 (FEN_Desktop_Part_2.BTN_resetsymbology1), ligne 9
    EIT_DATEHEURE : 15/01/2013 09:44:15
    @OnePoint : Tu avais dit avoir une solution : laquelle ?

  19. #19
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Citation Envoyé par OnePoint Voir le message
    • Et pour se faire plaisir, WDTypeLib, une visionneuse développée avec WinDev 11.
    dommage .... cela avait l'air bien, mais plantage lors du lancement du programme (après demande de chargement et d'installation acceptée du vieux framework en v11, car le programme en avait besoin) :
    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
    Erreur à la ligne 2 du traitement Constructeur de la classe cdrTypeLib2.
    L'objet automation 'tli.tliApplication' n'est pas installé sur votre système.
     
    Informations techniques
     
    Projet : WDTypeLib
     
    Dump de l'erreur du module <WD110VM.DLL> <11.00Mb>.
     
    - Appel WL :
    Traitement de <cdrTypeLib2.Constructeur>, ligne <2>, thread <0>
     
    - Niveau : erreur fatale (EL_FATAL)
     
    - Code erreur : 2202
     
    - Code erreur WD55 : 0
     
    - Pas de code d'erreur système
     
    - Pas de message d'erreur système
     
    - Que s'est-il passé ?
    L'objet automation 'tli.tliApplication' n'est pas installé sur votre système.
     
    - Infos de debug :
    Instruction AutomCreate
     
    - Infos attachées :
    EIT_DATEHEURE : 15/01/2013 09:57:50
    EIT_PILEWL :
    Constructeur de la classe cdrTypeLib2 (cdrTypeLib2.Constructeur), ligne 2
    Déclarations globales de frmMain (frmMain), ligne 2
     
    - Identifiant dans le .err : 2202

  20. #20
    Membre éprouvé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Février 2010
    Messages
    553
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2010
    Messages : 553
    Points : 1 075
    Points
    1 075
    Par défaut
    Citation Envoyé par OnePoint Voir le message

    Si besoin, on peut contourner l'incompatibilité sur le passage de paramètres en encapsulant les appels aux méthodes qui posent problème, en utilisant un autre ActiveX pré-installé sur Windows: MSScriptControl.ScriptControl.
    ...A envisager ultérieurement.
    Pour les méthodes "open", je crois qu'il faut y passer .... mais je ne l'ai jamais fait ....

    Tu essayes ?

Discussions similaires

  1. Google Maps Offline
    Par you.baddi dans le forum API standards et tierces
    Réponses: 14
    Dernier message: 14/06/2012, 11h08
  2. Google Maps Offline
    Par you.baddi dans le forum Actualités
    Réponses: 3
    Dernier message: 07/06/2012, 11h55
  3. [SimpleXML] Google Maps, Problème d'encoding dans une boucle
    Par yahn dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/09/2006, 19h40
  4. [google maps] probleme avec ie
    Par kowabounga dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2006, 15h20
  5. 4D & Google Maps
    Par gbardy dans le forum 4D
    Réponses: 1
    Dernier message: 30/06/2006, 07h32

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