WebApp Html5 Localisation & Google Map
Dans cette article, je vais vous présenter quelques fonctionnalités de l'API Google Map que je trouve intéressante pour la mobilité. Aujourd'hui la mobilité a amené de nouveaux usages, comme par exemple trouver une information en fonction de sa position.(le boulanger le plus prés de moi). Mais on peux imaginer à une multitude d'autres utilisations...
API Geoloalisation
Dans un premiers temps, il faut vérifier si le navigateur gère bien l'API.- if (navigator.geolocation){
- }
L'API de géolocalisation est disponible sur :
- Safari Mobile (depuis iOS 3.0)
- Android (depuis la verison 1.6)
De plus tous les grands navigateurs de bureau gère églament l'API :
- (Firefox (>= 3.5)
- Safari (>= 5.0)
- Google Chrome
- Opera(>= 10.60)
- Internet Explorer (>= IE 9))
Pour obtenir la position géographique :
- navigator.geolocation.getCurrentPosition(function(position){
- var latitude = position.coords.latitude;
- var longitude = position.coords.longitude;
- alert('Latitude :' + latitude + ' Longitude : ' + longitude);
- },function(error){
- alert(error.Message);
- });
Le prototype de la méthode getCurrentPosition() est le suivant :
- void getCurrentPosition(PositionCallback successCallback,
- optional PositionErrorCallback errorCallback,
- optional PositionOptions options);
API Google Map
Maintenant que l'on a obtenu notre localisation en coordonnée géographique, il peut être intéressant de l'afficher sur une map. Pour cela nous allons utiliser l'API Google Map.
Tout d'abord il faut intégrer l'API Google Map à la page.
- < script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=yourKey&sensor=false" >< /script>
Ensuite dans votre code HTML placez la balise suivante :
- < div id="map" />
- var element = document.getElementById("map");
- map = new google.maps.Map(element, {
- center: new google.maps.LatLng(latitude, longitude),
- zoom: 15,
- mapTypeId: google.maps.MapTypeId.ROADMAP
- });
- HYBRID
- ROADMAP
- SATELLITE
- TERRAIN
Afficher une position
Pour afficher notre position, on utilise l'objet Marker(opts?:MarkerOptions). On lui affecte alors la position en type LatLng(latitude, longitude). Et on affecte notre map à la propriété du même nom.
- var latlng = new google.maps.LatLng(latitude, longitude);
- var marker = new google.maps.Marker({
- position: latlng,
- map: map
- });
Maintenant on va afficher une petite fenêtre dans laquelle on peut ajouter du code html.
- var infowindow = new google.maps.InfoWindow();
- infowindow.setContent('
- +latitude +','+longitude
- +');
- infowindow.open(map, marker);
Conclusion
Nous avons pu voir dans cette article, qu'il n'est pas très difficile de mettre en place un système de géolocalisation sur son site web. Et en plus, cette fonctionnalité est cross-plateforme (iphone, ipad, android).
Dans la prochaine partie de cette article, on rentrera un peu plus en détail sur les différentes possibilités pour dessiner et afficher de l'information sur une map.
Merci d'avoir lu cet article, un partage sur les réseaux sociaux, ou un commentaire j'en serai très heureux.
Merci d'avoir lu cet article, un partage sur les réseaux sociaux, ou un commentaire j'en serai très heureux.
No comments:
Post a Comment