当前位置:Gxlcms > PHP教程 > 手机Web端如何做到实时定位

手机Web端如何做到实时定位

时间:2021-07-01 10:21:17 帮助过:205人阅读

微信公众号实时获取快递员的位置,有没有什么好的方案或接口

回复内容:

微信公众号实时获取快递员的位置,有没有什么好的方案或接口

Html5本身就可以获取到地理位置(WGS-84)

但是前提是快递员一直打开那个网页不黑屏,黑屏之后网页中的脚本会被暂停(所以GPS也会被停止)。

公众号只会在进入主界面时,会去读取坐标并上传到后台。进到Web页面之后,权限会缩小的和HTML一样。
公众号的JS API不会持续的获取坐标,除非setInterval不停去取,黑屏之后一样会停止JS。

如果需要实时上传快递员的坐标到服务器,只有APP这条路。


Web端获取地理位置方法:navigator.geolocation 有三个函数:

  1. <code>void getCurrentPosition(onSuccess,onError,options);
  2. //获取用户当前位置
  3. int watchCurrentPosition(onSuccess,onError,options);
  4. //持续获取当前用户位置
  5. void clearWatch(watchId);
  6. //watchId 为watchCurrentPosition返回的值
  7. //取消监控</code>
  1. <code>
  2. function getLocation(){
  3. var options={
  4. enableHighAccuracy:true,
  5. maximumAge:1000
  6. }
  7. if(navigator.geolocation){
  8. //浏览器支持geolocation
  9. navigator.geolocation.watchCurrentPosition(onSuccess,onError,options);
  10. }else{
  11. //浏览器不支持geolocation
  12. }
  13. }
  14. //成功时
  15. function onSuccess(position){
  16. //返回用户位置
  17. //经度
  18. var longitude =position.coords.longitude;
  19. //纬度
  20. var latitude = position.coords.latitude;
  21. }
  22. //失败时
  23. function onError(error){
  24. switch(error.code){
  25. case 1:
  26. alert("位置服务被拒绝");
  27. break;
  28. case 2:
  29. alert("暂时获取不到位置信息");
  30. break;
  31. case 3:
  32. alert("获取信息超时");
  33. break;
  34. case 4:
  35. alert("未知错误");
  36. break;
  37. }
  38. }
  39. //开始获得
  40. getLocation();</code>

WGS-84如何转换成腾讯/百度等坐标请移步 https://www.oschina.net/code/...

人气教程排行