blucee
blucee
  • 发布:2015-12-08 16:01
  • 更新:2017-04-18 15:07
  • 阅读:9472

为什么在miui 系统的手机打开了定位服务,还是出现no location providers available

分类:HTML5+

而在其他手机上都好好的

2015-12-08 16:01 1 条评论 负责人:无 分享
已邀请:
blucee

blucee (作者)

mui.plusReady(function(){

            plus.geolocation.getCurrentPosition( function(position){  

                    var codns = position.coords;//获取地理坐标信息;  
                    lngx = codns.longitude;//获取到当前位置的经度   
                    laty = codns.latitude;//获取到当前位置的纬度;  

// console.log(lngx)
// console.log(laty)
change_lnglat();

                },function ( e ) {  
                        alert( "获取位置信息失败:"+e.message );  
                    } );  

        });  

在这种手机上,为什么一直显示no location providers available; 地理位置gps wife,网络都打开了

blucee

blucee (作者)

在线等

DCloud_heavensoft

DCloud_heavensoft

你在故障机上测试下官方的Hello H5+,看是否有这个bug。
如果没问题,对比下代码和manifest的配置。
如果有问题,告诉我们,我们找个真机看看。

  • blucee (作者)

    Hello H5+ 里 点击获取设备位置信息也是no provider; 点击获取百度定位信息,是有值得

    2015-12-14 14:53

  • blucee (作者)

    这里有什么原因

    2015-12-14 14:57

  • blucee (作者)

    在provider 里仅填写baidu,是可以获得定位;因app用的是高德地图配置, 真机测试也没问题,但打包后出现'没有此功能'; 如何能让二者共用?

    2015-12-22 17:17

  • ROUND

    回复 blucee:解决没有呢 大神 我也遇到了 在小米2s可以 但是在一个另一个安卓系统的机子 就无法定位

    2015-12-30 17:21

  • DCloud_heavensoft

    Android上的定位可以走google的、百度的、高德的,在manifest配好参数,代码里设好值就可以。因为墙的原因,不推荐google的,根据你的业务,就直接使用高德就好了。

    2016-01-02 05:47

  • blucee (作者)

    回复 ROUND:ok;le

    2016-01-02 20:07

  • ROUND

    回复 blucee:怎么解决的啊 能不能留个联系方式呢 qq或者微信 呢

    2016-01-03 21:26

  • ROUND

    回复 blucee:顺便问一下 我的是没有网的情况 hb能获取到gps定位吗 没网 如果能是怎么实现的呢

    2016-01-03 21:28

  • DCloud_heavensoft

    google的、百度的、高德的三种定位都支持混合定位,就是gps、wifi、基站都混合定位。如果没有wifi,剩下2个有也行。在国内推荐用高德和百度。如果你要取gps,要确保手机的gps开关是打开状态。

    2016-01-05 23:35

  • blucee (作者)

    回复 ROUND:就按@DCloud_heavensoft,说的做就可以

    2016-01-16 19:25

  • 8***@qq.com

    官方的Hello H5+也有这个问题,我是小米6

    2019-08-14 16:32

Saintcy

Saintcy

@DCloud_heavensoft

我的机器是魅蓝NOTE3和华为荣耀7,也出现这个问题,望解答,谢谢!

使用官网的HelloH5 app定位出现No location providers available,
点击获取百度定位信息可以定位。

在我自己的APP应用中也有同样的问题,
打包的APP中出现此问题,manifest定位权限已经开启,但真机调试下又可以,
我的代码是:
自定义参数=============================================
plus.geolocation.getCurrentPosition(function (position) {
sign(position);
}, function (error) {
showMsg("获取位置信息失败:" + error.message + "," + error.code)
}, {
enableHighAccuracy: true,
maximumAge: 100,
geocode: false,
provider: "system",
coordsType: "wgs84"
}, false);
默认参数==================================================
plus.geolocation.getCurrentPosition(function (position) {
sign(position);
}, function (error) {
showMsg("获取位置信息失败:" + error.message + "," + error.code)
});

DCloud_heavensoft

DCloud_heavensoft

provider: "system" ,把这个去掉。
google的默认定位服务在国内是被墙的,换成高德、百度才好使。不特殊指定system的话默认是高德。

  • 1***@163.com

    哥们,provider: "system" 代表的是获取手机GPS吧,刚试过。

    2017-09-15 16:11

  • DCloud_heavensoft

    回复 1***@163.com: system指调用Android标准定位,这个默认是谷歌的gms里的定位。一般国产rom是没有gms的,但有些国产rom可能拦截另处理了。

    2017-09-18 13:26

Saintcy

Saintcy

我本想用系统默认的坐标,就省去使用api的麻烦,因为我有多种客户端,都使用gcj02坐标系,最后统一在服务端做转换,奇怪的是为什么调试模式下是可以的??

  • dddsam

    我也有类似问题

    2017-05-24 17:54

wen如故i

wen如故i

我用户权限是打开的,,,但是我选择 仅限设备 使用gps,应用是获取不到位置。 其他的选择节电(网络)和精确(gps+网络)就可以获取位置。。。用户禁止权限的话,,网络 和 gps 都没法获取当前位置

该问题目前已经被锁定, 无法添加新回复