Géolocalisation

Makia42 Messages postés 29 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 19 septembre 2010 - 22 févr. 2010 à 16:30
Makia42 Messages postés 29 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 19 septembre 2010 - 24 févr. 2010 à 19:17
Bonjour tout le monde !

Voila je viens de créer un logiciel dans le cadre de mon stage qui aura pour but de gérer des capteurs IR et magnétique.

Lorsq'une personne voudra partir en vacances, elle nous demandera ces capteurs qui nous permettront, grâce à ce logiciel, de surveiller sa maison en son absence.

La personne nous donne son adresse et on la localise sur un bout de carte avec un simple curseur correspondant à un capteurs qui change de couleur selon l'état (alerte ou repos).

Jusqu'ici le logiciel fonctionne seulement je voudrais améliorer la partie localisation du client, car j'utilise une image simple pour la localisation :s !

J'aimerais pouvoir les localiser sur google earth par exemple, est-ce que c'est possible?

Merci pour toutes vos réponses!

8 réponses

cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
23 févr. 2010 à 01:50
Bonjour,

Ben oui, évidement que c'est possible !
Si tu localises déjà sur "un bout de carte" c'est que tu possèdes les coordonnées géographiques (latitude et longitude) de l'emplacement des capteurs. Il te suffit de les passer à Google Earth qui accepte les coordonnées selon 4 types : décimal, DMS, degré décimal et Mercator.
Mais, bien que n'étant pas modérateur, je te fais remarquer que ta question ne relève pas d'un problème de programmation.
A moins que tu ne souhaites piloter le plugin de GE par code, ce qui est est tout à fait possible avec un peu de VB et du JavaScript pour les API du plugin.

Cheyenne
0
cs_hadri1 Messages postés 24 Date d'inscription vendredi 2 février 2007 Statut Membre Dernière intervention 10 juillet 2011
23 févr. 2010 à 11:44
Bonjour

Ça fait un petit bout de temps que je travaille sur cette idée.
L'idée serait de faire un code qui récupère la longitude et la latitude et qui génère une page google maps et qui l'affiche dans un web browser :

Dim latitude, longitude as string


ensuite tu définis une string ou une ressource texte du type :
<html>
<head>
<script type="text/javascript"
src="http://www.google.com/jsapi?key=ABCDEFG"></script>
<script type="text/javascript">
google.load("maps", "2");
google.load("search", "1");

// Call this function when the page has been loaded
function initialize() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(ClientLocation.latitude, clientLocation.longitude), 13);

var searchControl = new google.search.SearchControl();
searchControl.addSearcher(new google.search.WebSearch());
searchControl.addSearcher(new google.search.NewsSearch());
searchControl.draw(document.getElementById("searchcontrol"));
}
google.setOnLoadCallback(initialize);
</script>

</head>







</html>

ensuite dans une fonction tu remplace (ClientLocation.latitude, clientLocation.longitude) par tes variables latitude et longitude et tu génère une page que tu affiche

tu peux trouver d'autres infos à cette adresse : http://code.google.com/intl/fr/apis/maps/documentation/services.html

Voila! J'espère t'avoir aidé un peu
0
Makia42 Messages postés 29 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 19 septembre 2010
23 févr. 2010 à 19:46
Bonsoir !


Il te suffit de les passer à Google Earth qui accepte les coordonnées selon 4 types : décimal, DMS, degré décimal et Mercator.
Mais, bien que n'étant pas modérateur, je te fais remarquer que ta question ne relève pas d'un problème de programmation.
A moins que tu ne souhaites piloter le plugin de GE par code, ce qui est est tout à fait possible avec un peu de VB et du JavaScript pour les API du plugin.



Effectivement j'aimerais bien pouvoir piloter le plugin GE ou Google Map, je cherchais donc surtout à savoir si il y avait des projets similaires qui existait déja.

Hadri1 je te remercie pour le bout de code qui m'éclaire un peu sur l'utilisation de GM , j'aurai une petite question par rapport à mon code .
Dans mon code je place sur ma carte des curseurs ( textbox contenant des lettre acronymes ex : A pour Alerte ) comme tu peut le voir ci-dessous :
Dim SensorSprite(1000) As TextBox

Private Sub Form_Load()
   frmSuper.Refresh ' pour rafraîchir l'image après un chagement de localisation
   Picture1.Picture = LoadPicture(App.Path & "\image\Ville.bmp") '
   flagtimer = False
   
   TextToSpeech1.Speaker (Bonjour) 'fait bugger mon appli. quant le message est trop long
     For i = 0 To 999
         Set SensorSprite(i) = Controls.Add("VB.Textbox", "SensorSprite" + Format(i))
         SensorSprite(i).Height = 135
         SensorSprite(i).width = 135
         SensorSprite(i).Top = 0
         SensorSprite(i).Left = 0
         SensorSprite(i).ZOrder 1
         SensorSprite(i).forecolor = &HFFFFFF
         SensorSprite(i).Visible = True
         SensorSprite(i).Enabled = False
         SensorSprite(i).BorderStyle = none
         
   Next

End Sub


curseur qui changera en fonction de l'état des capteurs ex l'état d'alerte :
If Trim(sensordata.cUser) <> "" Then
            SensorSprite(snum).Top = Val(sensordata.Y)
            SensorSprite(snum).Left = Val(sensordata.X)
            SensorSprite(snum).ZOrder 0

            If sensordata.cStatus = "A" Then
              SensorSprite(snum).BackColor = &H3479CC


Je ne savait pas comment faire autrement pour identifier les états de mes capteurs sur ma carte...

Bref , le ou je veut en venir , est de savoir si je pourrait recréer mes propres indicateurs comme ci-dessus mais sur Google map ??

Sachant que je peut avoir plusiseurs indicateurs sur la carte de ma ville pour chaques capteurs à des endroits différents ce qui est logique ^^'...
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
23 févr. 2010 à 20:46
Bonsoir,

Hé bien dis donc, ils sont grands tes curseurs !
135x135 pixels. Je suppose que ta carte à un ScaleMode personalisé en degré et minutes. Attention pour le placement de tes curseurs il faut tenir compte de leurs dimensions pour les positionner exactement.
Avec GE tu n'as plus ce problème car une instruction en Javascript apporte la correction en fonction de la dimension du curseur qui peut, comme tu le demandes, être personalisé.
Cette instruction est la suivante :
style.getIconStyle().getHotSpot().set(32, GE.UNITS_PIXELS, 1, GE.UNITS_PIXELS);
Le mieux dans ce cas est d'utiliser des icônes avec lesquelles tu peux bénéficier d'un fond transparent ce qui n'est pas le cas avec une image au format BMP.

Cheyenne
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
23 févr. 2010 à 22:28
Ah il y a confusion de ma part. J'ai lu un peu trop vite ton code et je croyais que tes curseurs étaient des images au format BMP alors que c'est en fait la carte.
Tes curseurs sont donc des TextBox que tu charges dynamiquement. Je suppose que leurs emplacements sur la carte ne doivent pas être très précis.
Avec GE et VB tu peux changer à la volée le script du navigateur dans lequel s'affiche le plugin.
Ainsi tu as la possibilté de créer des PlaceMark dans lesquels tu peux mettre le texte que tu veux et même choisir la police ainsi que sa couleur de même que la couleur de l'icône de ce PlaceMark qui dépendra de l'état du capteur.
Evidement si l'état de l'un des capteurs change tu supprimes par code l'ancien PlaceMark et tu places le nouveau. Ce qui évite d'avoir trop d'icônes d'affichées.
Puis tu centres la carte sur ce nouveau PlaceMark dont la fenêtre sera ouverte par code, ce qui te fait une mini-alerte visuelle. Enfin... c'est une idée comme une autre !

Pour utiliser GE ou GM tu dois être en possession d'une clef. Voir le code de hadri1 ou son numéro de clef est remplacé par ABCDEFG.

Bonne continuation,
Cheyenne
0
Makia42 Messages postés 29 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 19 septembre 2010
24 févr. 2010 à 09:08
Bonjour,

Je te remercie pour ta réponse complète , je vais l'étudier atentivement car je ne m'y connais pas vraiment en javascript .
Par contre de quel code parle tu? le plugin n'est pas gratuit?

Merci
0
cs_cheyenne Messages postés 693 Date d'inscription samedi 18 mai 2002 Statut Membre Dernière intervention 17 avril 2017 2
24 févr. 2010 à 13:40
Bonjour,

Si, bien sûr, le plugin est gratuit !. Il est en principe installé en même temps que GE.
Je ne parlais pas d'un code mais d'une clef que l'on obtient gratuitement auprès de Google. Cette clef doit impérativement être présente dans le Javascript afin d'avoir accès aux API.
Voir la 4ème ligne du code HTML de hadri1.

Quant au Javascript pour GE ou GM, ce n'est pas très compliqué. Le web fourmille d'exemples d'utilisation et en plus du lien fourni par hadri1 tu peux consulter les pages suivantes :

Pour GM : http://code.google.com/intl/fr/apis/maps/documentation/

Pour GE : http://code.google.com/intl/fr/apis/earth/documentation/reference/interface_g_e_plugin.html

Cheyenne
0
Makia42 Messages postés 29 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 19 septembre 2010
24 févr. 2010 à 19:17
Bonsoir ,

Merci pour votre aide , je vais regarder tous sa de plus prés !

Merci encore :) !
0