Maison  >  Article  >  développement back-end  >  H5 combiné avec la carte Baidu pour réaliser un exemple de tutoriel de positionnement GPS

H5 combiné avec la carte Baidu pour réaliser un exemple de tutoriel de positionnement GPS

零下一度
零下一度original
2017-06-23 16:50:302109parcourir

Avant-propos

À l'heure actuelle, nous utilisons le positionnement lors de l'exécution de m-end. Lorsque l'utilisateur ouvre la page h5 pour la première fois, le positionnement GPS sera démarré et combiné avec la carte Baidu pour trouver la ville. Selon notre idée logique, le positionnement GPS est utilisé pour obtenir la longitude et la latitude, qui sont ensuite envoyées en arrière-plan pour appeler une interface sur Baidu afin de trouver le nom de la ville.

1. Après avoir interrogé le nom de la ville, nous interrogeons l'identifiant de la ville correspondant dans notre propre base de données en fonction du nom de la ville (la requête sera très fréquente, elle peut être basée sur une requête de cache XML, ou elle peut être placé dans redis)

2. À des fins d'assurance, nous conserverons également un ensemble d'informations sur la ville basées sur la longitude et la latitude dans notre propre bibliothèque pour éviter que le positionnement ne soit affecté lorsque l'interface n'est pas disponible.

Positionnement GPS H5

 1  (function () { 2         var 3             isGeolocation = false, 4             lat = 0, 5             lng = 0, 6             coords = null; 7              8         if (navigator.geolocation) { isGeolocation = true; }; 9         if (isGeolocation) {10             function getPosSuccess(position) {11                 coords = position.coords;12                 lat = coords.latitude, lng = coords.longitude;13                 $.ajax({14                     type: 'GET',15                     dataType: 'json',16                     url: '/Home/GetPositionArea',17                     data: { 'lat': lat, 'lng': lng },18                     success: function (data) {19 20                     }21                 });22             };23             function getPosError(err) {24                 switch (err) {25                     case err.PERMISSION_DENIED:26                         console.log("您拒绝了共享位置,可手动选择城市。");27                         break;28                     case err.POSITION_UNAVAILABLE:29                         console.log("无法获取当前位置");30                         break;31                     case err.TIMEOUT:32                         console.log("获取位置超时");33                         break;34                     default:35                         console.log("未知错误");36                         break;37                 }38                 39             };40             navigator.geolocation.getCurrentPosition(getPosSuccess, getPosError, null);41         } else {42             43         };44 45     })();

Combiné avec l'interface Baidu pour interroger des villes spécifiques

 JsonResult GetPositionArea( lng,  api = result =

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:exemple de code foreach en C#Article suivant:exemple de code foreach en C#