发文章
发文工具
撰写
网文摘手
文档
视频
思维导图
随笔
相册
原创同步助手
其他工具
图片转文字
文件清理
AI助手
留言交流
001
package
com.yourname.app;
002
003
004
import
android.util.Log;
005
006
com.baidu.location.BDLocation;
007
com.baidu.location.BDLocationListener;
008
com.baidu.location.LocationClient;
009
com.baidu.location.LocationClientOption;
010
011
org.apache.cordova.api.Plugin;
012
org.apache.cordova.api.PluginResult;
013
org.json.JSONArray;
014
org.json.JSONException;
015
org.json.JSONObject;
016
017
018
019
public
class
BaiduLocPlugin
extends
Plugin {
020
private
LocationClient mLocationClient =
null
;
021
MyLocationListenner myListener =
new
MyLocationListenner();
022
JSONObject jsonObj =
JSONObject();
023
PluginResult result =
024
025
PluginResult execute(String action, JSONArray args, String callbackId) {
026
027
if
(action.equals(
"get"
)) {
028
029
cordova.getActivity().runOnUiThread(
RunnableLoc());
030
031
}
else
"stop"
032
mLocationClient.stop();
033
result =
PluginResult(PluginResult.Status.OK);
034
{
035
PluginResult(PluginResult.Status.INVALID_ACTION);
036
037
038
039
// waiting ui thread to finish
040
while
(
this
.result ==
) {
041
try
042
Thread.sleep(
100
);
043
catch
(InterruptedException e) {
044
// ignoring exception, since we have to wait
045
// ui thread to finish
046
047
048
049
050
return
.result;
051
052
053
054
055
@Override
056
void
onDestroy(){
057
(mLocationClient !=
&& mLocationClient.isStarted()){
058
059
mLocationClient =
060
061
super
.onDestroy();
062
063
064
065
RunnableLoc
implements
Runnable {
066
067
run() {
068
LocationClient(cordova.getActivity());
069
LocationClientOption option =
LocationClientOption();
070
071
option.setOpenGps(
false
072
option.setCoorType(
"bd09ll"
073
option.setPriority(LocationClientOption.NetWorkFirst);
074
option.setProdName(
"BaiduLoc"
075
option.setScanSpan(
5000
076
mLocationClient.setLocOption(option);
077
078
mLocationClient.registerLocationListener( myListener );
079
mLocationClient.start();
080
mLocationClient.requestLocation();
081
082
083
084
085
086
087
MyLocationListenner
BDLocationListener {
088
089
onReceiveLocation(BDLocation location) {
090
(location ==
)
091
092
093
094
jsonObj.put(
"Latitude"
,location.getLatitude());
095
"Longitude"
, location.getLongitude());
096
"LocType"
, location.getLocType());
097
"Radius"
, location.getRadius());
098
099
(location.getLocType() == BDLocation.TypeGpsLocation){
"Speed"
, location.getSpeed());
101
"SatelliteNumber"
, location.getSatelliteNumber());
102
(location.getLocType() == BDLocation.TypeNetWorkLocation){
103
"AddrStr"
, location.getAddrStr());
104
105
106
PluginResult(PluginResult.Status.OK, jsonObj);
107
108
(JSONException e) {
109
// TODO Auto-generated catch block
110
PluginResult(PluginResult.Status.JSON_EXCEPTION);
111
112
113
114
115
116
onReceivePoi(BDLocation poiLocation) {
117
// TODO Auto-generated method stub
118
119
120
121
122
123
124
125
01
window.Location =
function
(success,fail,act) {
02
(act){
03
var
action = act;
04
05
action =
'get'
06
07
cordova.exec(
(pos){
08
errcode = pos.LocType;
09
(errcode == 61 || errcode == 65 || errcode == 161){
10
success(pos);
11
12
fail(errcode);
13
14
},fail,
"BaiduLocPlugin"
, action , []);
15
};
来自: 看见就非常 > 《server》
0条评论
发表
请遵守用户 评论公约
Xamarin android如何调用百度地图入门示例(一)
Xamarin android如何调用百度地图入门示例(一)在Xamarin android如何调用百度地图呢?新建项目 Binging Labrary(android)下载百度地...
PhoneGap:移动APP之跨平台解决方案
Uri uri = null;public GapViewClient(DroidGap ctx) { this.ctx = ctx;this.ctx.pluginManager.onOverrideUrlLoading(url)) ...
调用百度地图API批量搜索地名并返回地址及坐标
调用百度地图API批量搜索地名并返回地址及坐标。去年由于某门课程需要,捣鼓了这么个小功能,效果图如下:完整代码如下,使用的是百度地...
PhoneGap 在 Android 上的插件开发方法介绍
浏览器端的 JavaScript 代码较多,但是实现其中核心功能的代码都在 PhoneGap 类中,其他的都是 PhoneGap 框架中自带的一些 Plugin 的 Ja...
PhoneGap 3.0版本更新信息,版本更新历史
Adobe 第三届 PhoneGap年会宣布PhoneGap 3.0发布。开源移动开发框架PhoneGap 3.0在此次更新中进一步升级,包括了新的插件架构,改进的工具,新的平台和新的API。更友好的开发工具 - 我们让切换原生平台...
Android木马如何实现用户定位技术?
Android木马如何实现用户定位技术?由于安卓系统在移动设备上的使用率最高,而移动设备上存储的数据往往涉及到个人隐私,如手机通讯录、...
彻底解决Android GPS没法定位这一顽固问题
默认Android GPS定位实例。LocationListener locationListener = new LocationListener() { @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override publi...
百度定位SDK使用V4.0
百度定位SDK使用V4.0.根据《百度定位SDK开发指南》,其中说到在V4.0以后都要申请KEY,但现在的KEY申请已经相当复杂了,变成了根应用相关...
java----百度识别身份证识别api使用方法
System.err.println(“result:” result);JSONObject jsonObject = new JSONObject(result);String access_token = jsonObject.getString(“access_token”);return access_token;} catch (Exception e...
微信扫码,在手机上查看选中内容