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

QQ登录

只需一步,快速开始

查看: 1540|回复: 8

[结贴] 如何用最新的baiduMap 插件取得手机定位?

[复制链接]

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
发表于 2017-2-20 09:22:31 | 显示全部楼层 |阅读模式
看到 http://docs.wex5.com/com-justep-cordova-plugin-baidumapbase/ 有百度手机定位插件的说明,但是没有实际使用的例子,我只好自己写了一个,相信很多人都希望知道具体的用法:

define(function(require) {
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");       
        var Model = function() {
                this.callParent();
                this.cityCode = justep.Bind.observable(); //用于取得百度城市citycode
                this.lonText = 0;
                this.latText = 0;
        };
        function successCallback(data){  //成功后取得经纬度
                this.lonText = data.lon;
                this.latText = data.lat;
        }
        function errorCallback(result){
        }       
        function successCallBack(result){
                var cityCode = result.cityCode; //成功后取得百度城市city-code
               
        });
        }
        function errorCallBack(result){
        }
        Model.prototype.modelLoad = function(event) {
                navigator.baiduMap.base.getCurrentLocation(successCallback,errorCallback); //首先取得手机的经纬度
                navigator.baiduMap.base.getNameFromLocation({lon:this.lonText,lat:this.latText},successCallBack,errorCallBack);取得手机的城市代码 citycode
        };

        return Model;
});

我这样的写法对不对?请x5的技术给予指导。。。。。

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-20 10:52:15 | 显示全部楼层
怎么还没有人回答过?
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-2-20 11:49:46 | 显示全部楼层
zjroland 发表于 2017-2-20 10:52
怎么还没有人回答过?

完整案例是有的/UI2/demo/plugin/baiduMap
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-20 12:12:59 | 显示全部楼层
我把这个例子全部查找了一遍,找不到 navigator.baiduMap.base.getCurrentLocation 这个方法的具体用法。
另外一个 navigator.baiduMap.base.getNameFromLocation,只是在utils.js中提了一下:
Model.prototype.getNameByCoorClick = function(event){
                navigator.baiduMap.base.getNameFromLocation({
                lon:116.397,
                lat:39.910,
                mcode:"com.x5.plugin"
                }, callBack, callBack);
        };
其中callBack如何实现,如何取得"cityCode"都没有讲。
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-2-20 15:24:54 | 显示全部楼层
还有,例子中的 mcode:"com.x5.plugin" 是起什么作用的。
我觉得X5官方应该有具体使用的例子,这样可以方便大家使用百度地图的插件。
回复 支持 反对

使用道具 举报

140

主题

573

帖子

1080

积分

金牌会员

Rank: 6Rank: 6

积分
1080
QQ
发表于 2017-3-8 10:30:08 | 显示全部楼层
相同的问题!!!
回复 支持 反对

使用道具 举报

1

主题

6163

帖子

2095

积分

金牌会员

Rank: 6Rank: 6

积分
2095
QQ
发表于 2017-3-9 13:56:16 | 显示全部楼层
zjroland 发表于 2017-2-20 12:12
我把这个例子全部查找了一遍,找不到 navigator.baiduMap.base.getCurrentLocation 这个方法的具体用法。
...

其实是这样的  关于百度地图平台所集成并给出案例的  只是百度地图个别的几个具有基础作用的放发   
包括我们自己使用的时候   有的功能我们也是需要自己去调用百度地图的接口的   
案例只是提供了基本的思路和大致的方法而已
回复 支持 反对

使用道具 举报

21

主题

347

帖子

486

积分

中级会员

Rank: 3Rank: 3

积分
486
QQ
发表于 2017-3-9 17:08:41 | 显示全部楼层
旧版本的时候,定位插件依赖百度插件,Android 可以直接获取地理位置信息! 而ios只能获取GPS 的经纬度,需要将经纬度信息传递到后台,调用百度API获取位置信息!
而新版本Android也不能直接获取百度定位的信息了!应该ios一样的!还是需要将经纬度传递到后台action ,然后调用百度地图API获取地理位置信息!
参考:/Baas/justep/takeout.service.m
queryAddr
/Baas/justep/Takeout.java

看外卖案例提供的方法!传递经纬度到后台,获取地理位置的详细信息
回复 支持 反对

使用道具 举报

40

主题

159

帖子

264

积分

中级会员

Rank: 3Rank: 3

积分
264
QQ
 楼主| 发表于 2017-3-9 19:39:12 | 显示全部楼层
多谢指导。。。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-5 05:06 , Processed in 0.083891 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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