起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5372|回复: 3

[未处理] cordova-plugin-geolocation定位问题

[复制链接]

20

主题

149

帖子

410

积分

中级会员

Rank: 3Rank: 3

积分
410
QQ
发表于 2019-6-25 13:23:36 | 显示全部楼层 |阅读模式
本帖最后由 Fancye 于 2019-6-25 13:25 编辑

使用工具:wex5 3.6
阅读过文档 http://docs.wex5.com/cordova-plugin-geolocation/   想问几个问题
1. 申请百度apikey时,应用类型选择“浏览器”还是“服务器”,或者“Android”或者“ios”
2. 文中说此插件依赖百度定位插件,那么我选择 cordova-plugin-geolocation 插件时,是不是需要手动再次引入 com.justep.cordova.plugin.baidulocation 这个插件
3. 文中说安卓设备获取的是百度坐标系,ios设备获取的是gps坐标系,那么我选择百度地图进行展现的时候,若 ios 设备,是不是需要使用 var geoc = new window.BMap.Geocoder();    geoc.getLocation(point, function(rs) {});   进行转换?
4. wex5 3.6中的定位插件,为什么会依赖百度定位插件,是x5官方进行了改造吗?如果我从 cordova 插件官网下载了 最新版本的 cordova-plugin-geolocation 插件 (https://www.npmjs.com/package/cordova-plugin-geolocation),是不是这个新下载的插件不依赖百度插件,不管安卓设备还是 ios 设备,返回的都是 gps坐标系的经纬度?

这几天碰到一个问题,在调试设备定位、百度地图展现都是正常的。但是打成生产包之后,就不正常。各种问题,因此重新理一下思路。

20

主题

149

帖子

410

积分

中级会员

Rank: 3Rank: 3

积分
410
QQ
 楼主| 发表于 2019-6-25 15:02:58 | 显示全部楼层
  1. define(function(require){
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");
  4.        
  5.         require("cordova!cordova-plugin-geolocation");
  6.        
  7.         var Model = function(){
  8.                 this.callParent();
  9.         };

  10.         Model.prototype.modelLoad = function(event){
  11.                 var self = this;
  12.                 var onDeviceReady = function(){
  13.                         self.getPosition();
  14.                 };
  15.                
  16.                 document.addEventListener("deviceready", onDeviceReady, false);
  17.         };

  18.         Model.prototype.getPosition = function(){
  19.                 navigator.geolocation.getCurrentPosition(success, fail, null);
  20.                 function success(){
  21.                         var coo = data.coords;
  22.                         console.log(coo);
  23.                 }
  24.                
  25.                 function fail(error){
  26.                         switch (error.code) {
  27.                                 case error.PERMISSION_DENIED:
  28.                                         console.log("User denied the request for Geolocation.");
  29.                                         alert("用户不允许地理定位!");
  30.                                         break;
  31.                                 case error.POSITION_UNAVAILABLE:
  32.                                         console.log("Location information is unavailable.");
  33.                                         alert("位置信息不可用!");
  34.                                         break;
  35.                                 case error.TIMEOUT:
  36.                                         console.log("The request to get user location timed out.");
  37.                                         alert("获取用户位置的请求超时!");
  38.                                         break;
  39.                                 case error.UNKNOWN_ERROR:
  40.                                         console.log("An unknown error occurred.");
  41.                                         alert("发生了一个未知错误!");
  42.                                         break;
  43.                         }
  44.                 }
  45.         };
  46.        
  47.         return Model;
  48. });
复制代码
在生成的调试模式app中,打开页面,没有弹框提示 用户进行位置信息的授权。
Screenshot_2019-06-25-15-01-11-064_com.miui.secur.png
回复 支持 反对

使用道具 举报

20

主题

149

帖子

410

积分

中级会员

Rank: 3Rank: 3

积分
410
QQ
 楼主| 发表于 2019-6-27 11:34:32 | 显示全部楼层
~~~~
回复

使用道具 举报

12

主题

33

帖子

145

积分

初级会员

Rank: 2

积分
145
QQ
发表于 2021-3-31 21:59:22 | 显示全部楼层
也有这个问题
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-6-17 04:12 , Processed in 0.085283 second(s), 26 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表