java内嵌地图_android 百度地图 示例源码(内嵌html5实现)

【实例简介】

【实例截图】

d2138e8c382278a893dbb6bbc04d06e0.png

3943635904adc0375884d7160612b6f6.png

【核心代码】

package com.example.location;

import org.apache.cordova.api.Plugin;

import org.apache.cordova.api.PluginResult;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import com.baidu.location.BDLocation;

import com.baidu.location.BDLocationListener;

import com.baidu.location.LocationClient;

import com.baidu.location.LocationClientOption;

/**

* 获取当前位置

* @author yy

*

*/

public class BdLocationDemo extends Plugin {

public static final String ACTION = "location";

private LocationClient mLocationClient = null;

private JSONObject jsonObj = new JSONObject();

private PluginResult result = null;

@Override

public PluginResult execute(String action, JSONArray data, String callbackId) {

if (ACTION.equals("location")) {

try {

cordova.getActivity().runOnUiThread(new RunnableLoc());

} catch (Exception e) {

}

} else {

mLocationClient.stop();

result = new PluginResult(PluginResult.Status.OK);

}

while (this.result == null) {

try {

Thread.sleep(100);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

return result;

}

@Override

public void onDestroy() {

if (mLocationClient != null && mLocationClient.isStarted()) {

mLocationClient.stop();

mLocationClient = null;

}

super.onDestroy();

}

/**

* @author Zhang Rong

* @date: 2012-12-23 涓婂崍11:27:25

* @version 1.0

*/

class RunnableLoc implements Runnable {

public void run() {

mLocationClient = new LocationClient(cordova.getActivity());

LocationClientOption option = new LocationClientOption();

option.setOpenGps(true);

option.setCoorType("bd09ll");

option.setPriority(LocationClientOption.NetWorkFirst);

option.setProdName("BaiduLoc");

option.setScanSpan(5000);

mLocationClient.setLocOption(option);

mLocationClient.registerLocationListener(new BDLocationListener() {

public void onReceiveLocation(BDLocation location) {

if (location == null) {

return;

}

StringBuffer sb = new StringBuffer(256);

if (location.getLocType() == BDLocation.TypeGpsLocation) { // GPS鎯呭喌

sb.append("\nSpeed : ");

sb.append(location.getSpeed());

sb.append("\nSatellite : ");

sb.append(location.getSatelliteNumber());

} else if (location.getLocType() == BDLocation.TypeNetWorkLocation) {

sb.append("\nAddress : ");

sb.append(location.getAddrStr());

try {

//jsonObj.put("add", location.getAddrStr());

//经、纬度坐标

jsonObj.put("poi", location.getLongitude() "," location.getLatitude());

result = new PluginResult(PluginResult.Status.OK,

jsonObj);

System.out.println(location.getAddrStr());

} catch (JSONException e) {

e.printStackTrace();

}

}

}

public void onReceivePoi(BDLocation location) {

}

});

mLocationClient.start();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值