OpenStreetMap embarqué dans votre application

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

OpenStreetMap embarqué dans votre application

Message par Progi1984 »

Salut à tous, je vous présente un code dont je suis assez fier, et que j'ai pondu en 4h ce matin. Voici un code pour embarquer OpenStreetMap dans votre application.

Le package : http://partage.rootslabs.net/SourceCode_OSM.zip

Code : Tout sélectionner

Dans le package
Dernière modification par Progi1984 le lun. 31/août/2009 9:10, modifié 4 fois.
jbernard13
Messages : 1501
Inscription : dim. 18/avr./2004 15:04
Localisation : sud de la france

Message par jbernard13 »

ET il sert a quoi ton code svp?
Anonyme

Message par Anonyme »

Super , fonctionne sans prob sous linux !
Crois tu que l'on puisse calculer des itinéraire avec sa ?
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

@All : j'ai implémenté les layers

@jbernard13 :
Ce code permet d'embarquer OSM (OpenStreetMap), équivalent de Google Maps mais bcp plus précis et libre dans une application.

@Cpl.Bator : Merci pour le test Linux, j'allais le faire ce soir.
Calculer des itinéraires, non, c'est juste de l'afficahge en direct du web.
Par contre, les fondateurs d'OSM ont créé Cloudmate. Elle a pour but de faire de l'argent grâce aux données d'OpenStreetMap. Et un de leurs outils est du routing par OSM :
- http://developers.cloudmade.com/project ... g-http-api
- http://developers.cloudmade.com/wiki/ro ... umentation
- http://developers.cloudmade.com/project ... find-route
- http://developers.cloudmade.com/project ... x-response
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Message par Geo Trouvpatou »

Méchant Progi1984.

En ayant supprimé RW_LibCurl_WriteFunction() plus aucuns de tes exemples n'est fonctionnel.
Si tu les modifies profites-en pour remplacer le back slash par "#LibCurl_SeparatorDir"

Sous windows il a fallu que je trouve "libsasl.dll" de 76ko.
Je le précise parce que j'ai trouvé une dll de 40ko qui ne fonctionnait pas.

Sinon maintenant tout est OK.
Quel bonne idée le jour où il t'a pris l'envie de faire ce wrapper :wink:.

Bye.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

@Geo Trouvpatou : Fallais pas télécharger les exemples, je me suis rendu du compte du bug de cette fonction cette après midi... J'ai encore deux trois wrappers à terminer, et je fais une MAJ de toutes les libs et des samples.

Pour libsasl.dll, il te l'a demandé ?
Geo Trouvpatou
Messages : 471
Inscription : dim. 23/déc./2007 18:10

Message par Geo Trouvpatou »

Progi1984 a écrit :Fallais pas télécharger les exemples
Je n'ai rien téléchargé.
D'une part j'ai déjà tes exemples sous la patte et surtout quand j'ai vu que la procédure RW_LibCurl_WriteFunction() n'était plus présente dans "RW_LibCurl_Inc.pb" je me suis douté que tu avais dû renommer celle-ci et donc que les samples ne fonctionneraient plus.
Progi1984 a écrit :Pour libsasl.dll, il te l'a demandé ?
A moi windows y m'demande jamais rien, y m'provoque des erreurs (Et y doit s'bidonner en voyant ma tronche)
J'ai donc eu droit à l'erreur "Cette application n'a pas pu démarrer car libsasl.dll est introuvable."
Une fois mise en place tout est nickel.

J'ai WindowsXP sp3.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Geo Trouvpatou a écrit :
Progi1984 a écrit :Fallais pas télécharger les exemples
Je n'ai rien téléchargé.
D'une part j'ai déjà tes exemples sous la patte et surtout quand j'ai vu que la procédure RW_LibCurl_WriteFunction() n'était plus présente dans "RW_LibCurl_Inc.pb" je me suis douté que tu avais dû renommer celle-ci et donc que les samples ne fonctionneraient plus.
Actuellement, les wrappers bien que fonctionnel pour la plupart ne sont pas encore à considérer en stable, mais plutot en beta.
Geo Trouvpatou a écrit :
Progi1984 a écrit :Pour libsasl.dll, il te l'a demandé ?
A moi windows y m'demande jamais rien, y m'provoque des erreurs (Et y doit s'bidonner en voyant ma tronche)
J'ai donc eu droit à l'erreur "Cette application n'a pas pu démarrer car libsasl.dll est introuvable."
Une fois mise en place tout est nickel.

J'ai WindowsXP sp3.
J'ai MAJ le SVN.
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

J'ai MAJ le code du post initial pour intégrer la gestion du cache.

Attention la base grossit vite (en qques déplacement, la base atteint 400ko)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

J'ai mis à jour le package : http://partage.rootslabs.net/SourceCode_OSM.zip

Code : Tout sélectionner

ADDED : Mimize Window
ADDED : Zoom with click on the ImageGadget
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

en lançant le prog j'ai un

Code : Tout sélectionner

GetDatabaseBlob() is not a function blablabla
En gros li la connait pas.
il est censé fonctionner sous pb 4.30 ?
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Désolé, c'est au minimum pour du PB 4.40 Beta 1.
Avatar de l’utilisateur
Ar-S
Messages : 9472
Inscription : dim. 09/oct./2005 16:51
Contact :

Message par Ar-S »

Progi1984 a écrit :Désolé, c'est au minimum pour du PB 4.40 Beta 1.
Quelque part je préfère ça plutôt qu'une erreur illogique du au 4.30 ^^
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
GG
Messages : 239
Inscription : jeu. 09/déc./2004 12:23

Re: OpenStreetMap embarqué dans votre application

Message par GG »

Je suis sous WIN XP SP3 (32 bits) avec 4 Go de RAM et j'ai downloadé le package proposé : >> http://partage.rootslabs.net/SourceCode_OSM.zip <<.
La compilation s'effectue bien, mais peu après le lancement (création de la fenêtre OK, affichage "DOWNLOAD : 0\7\64\44 " dans la fenêtre de debug, j'obtiens l'erreur suivante :
[ERREUR] The specified '*MemoryID' is null. (ligne 149 de RW_LibCurl_Inc.pb).

Cela correspond à la ligne :

Code : Tout sélectionner

*LibCurl_NewMemory = AllocateMemory(MemorySize(*LibCurl_SharedMem))
Une idée ?
PureBasic 6.03 - Windows 11 22H2 (64 bits)
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Re: OpenStreetMap embarqué dans votre application

Message par Progi1984 »

Peux tu essayer de remplacer dans RW_LibCurl_Inc.pb la fonction RW_LibCurl_InitData() :

Code : Tout sélectionner

Procedure RW_LibCurl_InitData()
  Shared *LibCurl_SharedMem
  If *LibCurl_SharedMem
    FreeMemory(*LibCurl_SharedMem)
    *LibCurl_SharedMem = 0
  EndIf
EndProcedure
Répondre