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

QQ登录

只需一步,快速开始

查看: 9092|回复: 20

[处理中3] 百度地图定位的问题,求教

[复制链接]

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
发表于 2017-7-17 14:18:41 | 显示全部楼层 |阅读模式
本帖最后由 不老刘 于 2017-7-17 14:19 编辑

同样的js代码,放到.w文件里,用apploader看,定位结果就有偏移。

放到html文件里,跑起来就是正常的,无偏移。
发表于 2017-7-17 15:09:12 | 显示全部楼层
截图看看!偏移大吗??定位是GPS 获取的!
如果同一个手机同一个位置!获取的坐标就应该一样的才对吧!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-7-18 16:18:14 | 显示全部楼层
本帖最后由 不老刘 于 2017-7-18 16:32 编辑

这是百度官网的浏览器定位demo,放到.w文件里用apploader 跑就定位不准了。百度这个demo放到.html页面里定位就正常。

把.html页面通过iframe方式引入到.w文件里跑也正常,就是这样直接用不行,定位有偏差!!

经纬度分别偏差 0.011957 和 0.00717

  1. define(function(require){
  2.         var $ = require("jquery");
  3.         var justep = require("$UI/system/lib/justep");
  4.         var that=null;
  5.         var Model = function(){
  6.                 this.callParent();
  7.                 that = this;
  8.         };
  9.         
  10.         Model.prototype.modelLoad = function(event) {
  11.                 this.loadBaiduMap();
  12.         };

  13.         Model.prototype.loadBaiduMap = function() {
  14.     var id = this.getIDByXID("baiduMap");
  15.     window._baiduInit = function() {
  16.         var map = new BMap.Map(id);
  17.    
  18.         var point = new BMap.Point(116.331398,39.897445);
  19.         map.centerAndZoom(point,12);

  20.         var geolocation = new BMap.Geolocation();
  21.         geolocation.getCurrentPosition(function(r){
  22.                 if(this.getStatus() == BMAP_STATUS_SUCCESS){
  23.                         var mk = new BMap.Marker(r.point);
  24.                         map.addOverlay(mk);
  25.                         map.panTo(r.point);
  26.                         console.log('您的位置:'+r.point.lng+','+r.point.lat);
  27.                 }
  28.                 else {
  29.                         alert('failed'+this.getStatus());
  30.                 }        
  31.         },{enableHighAccuracy: true})
  32.     }
  33.     require([ 'http://api.map.baidu.com/api?v=2.0&ak=您的密钥&callback=_baiduInit' ], function() {
  34.         if (!(window.BMap && window.BMap.apiLoad)){
  35.             window._baiduInit();
  36.         }
  37.     });
  38. };

  39.         return Model;
  40. });
复制代码


求教!!

回复 支持 反对

使用道具 举报

发表于 2017-7-18 16:50:09 | 显示全部楼层
不老刘 发表于 2017-7-18 16:18
这是百度官网的浏览器定位demo,放到.w文件里用apploader 跑就定位不准了。百度这个demo放到.html页面里定 ...

.w最终也是编译成标准的html 运行的!
相同的web应用!
原理上是没差异的!

而且是同样的设备!
我也不理解原因是什么?
如果html更准确!那你试试把.w后缀改成html  行吗?

或者还使用iframe
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-7-19 08:18:56 | 显示全部楼层
本帖最后由 不老刘 于 2017-7-19 09:47 编辑

果然把.w 改成.html 后,什么都不用改,定位就准了。这应该是wex5的缺陷?!
回复 支持 反对

使用道具 举报

发表于 2017-7-19 10:08:58 | 显示全部楼层
不老刘 发表于 2017-7-19 08:18
果然把.w 改成.html 后,什么都不用改,定位就准了。这应该是wex5的缺陷?! ...

不知道原因!除非是百度API 对运行文件的后缀名有要求!要求必须是HTML

那你就吧 .w 后缀改成html使用吧!  用法是一样的!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-7-19 10:29:23 | 显示全部楼层
本帖最后由 不老刘 于 2017-7-19 10:55 编辑
liangyongfei 发表于 2017-7-19 10:08
不知道原因!除非是百度API 对运行文件的后缀名有要求!要求必须是HTML

那你就吧 .w 后缀改成html使用吧 ...

.w文件会去找同名的.js文件,这个应该是wex5里设定的逻辑。
改成.html 后,它也会去找同名的.js文件吗?这是什么原理,wex5对.html文件也做同样的逻辑设置了吗?

改完.html 用iframe 引入后发现个问题,直接跑这个引入了.html文件的.w文件可以,但是通过其他.w文件跳转到这个.w文件就不行了。定位还是有偏移。。
而且改成.html 后 运行完还会报错
java exception was raised during method invocation
回复 支持 反对

使用道具 举报

79

主题

581

帖子

3464

积分

论坛元老

Rank: 8Rank: 8

积分
3464
QQ
发表于 2017-7-19 11:28:25 | 显示全部楼层
你是用在页面,还是打包成app?

小尾巴~~世间万难,无非一拖二懒三不读书
回复 支持 反对

使用道具 举报

发表于 2017-7-19 11:28:42 | 显示全部楼层
不老刘 发表于 2017-7-19 10:29
.w文件会去找同名的.js文件,这个应该是wex5里设定的逻辑。
改成.html 后,它也会去找同名的.js文件吗?这 ...

可以吧index.w 和 使用到地图的这个.w 后缀名都改成 html
w和 HTML 是可以混合使用的!  
wex5对新建 w 和 新建 html 文件 都兼容的!是一样的逻辑!


改成.html 后 运行完还会报错
单独运行没问题!其他页面跳转过来就报错吗?


本地测试
修改/UI2/demo/page/index.w
  1. p2: {
  2.     url: require.toUrl("./interactive/page2.html")
  3. }
复制代码


把 page2.w  修改成  page2.html  

后缀名也进行修改
/UI2/demo/page/interactive/page2.html

然后运行 index.html 跳转页面都是正常的
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

54

主题

229

帖子

701

积分

高级会员

Rank: 4

积分
701
QQ
 楼主| 发表于 2017-7-19 14:40:54 | 显示全部楼层
cc_day 发表于 2017-7-19 11:28
你是用在页面,还是打包成app?

app里,打包完通过手机浏览器访问的方式定位都很正常。APP里就不行了,怀疑是不是wex5和百度定位有什么冲突,没用插件,就用的百度api
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 21:07 , Processed in 0.059245 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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