问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java如何实现多点定位?

发布网友 发布时间:2022-04-21 21:06

我来回答

2个回答

热心网友 时间:2023-09-19 04:56

CellInfoManager

import java.lang.reflect.Method;

import java.util.Iterator;

import java.util.List;

import org.json.JSONArray;

import org.json.JSONException;

import org.json.JSONObject;

import android.content.Context;

import android.telephony.CellLocation;

import android.telephony.NeighboringCellInfo;

import android.telephony.PhoneStateListener;

import android.telephony.TelephonyManager;

import android.telephony.gsm.GsmCellLocation;

import android.util.Log;

public class CellInfoManager {

private int asu;

private int bid;

private int cid;

private boolean isCdma;

private boolean isGsm;

private int lac;

private int lat;

private final PhoneStateListener listener;

private int lng;

private int mcc;

private int mnc;

private int nid;

private int sid;

private TelephonyManager tel;

private boolean valid;

private Context context;

public CellInfoManager(Context paramContext) {

this.listener = new CellInfoListener(this);

tel = (TelephonyManager) paramContext.getSystemService(Context.TELEPHONY_SERVICE);

this.tel.listen(this.listener, PhoneStateListener.LISTEN_CELL_LOCATION | PhoneStateListener.LISTEN_SIGNAL_STRENGTH);

context = paramContext;

}

public static int dBm(int i) {

int j;

if (i >= 0 && i <= 31)

j = i * 2 + -113;

else

j = 0;

return j;

}

public int asu() {

return this.asu;

}

public int bid() {

if (!this.valid)

update();

return this.bid;

}

public JSONObject cdmaInfo() {

if (!isCdma()) {

return null;

}

JSONObject jsonObject = new JSONObject();

try {

jsonObject.put("bid", bid());

jsonObject.put("sid", sid());

jsonObject.put("nid", nid());

jsonObject.put("lat", lat());

jsonObject.put("lng", lng());

} catch (JSONException ex) {

jsonObject = null;

Log.e("CellInfoManager", ex.getMessage());

}

return jsonObject;

}

public JSONArray cellTowers() {

JSONArray jsonarray = new JSONArray();

int lat;

int mcc;

int mnc;

int aryCell[] = mpCells();

lat = lac();

mcc = mcc();

mnc = mnc();

if (aryCell == null || aryCell.length < 2) {

aryCell = new int[2];

aryCell[0] = cid;

aryCell[1] = -60;

}

for (int i = 0; i < aryCell.length; i += 2) {

try {

int j2 = dBm(i + 1);

JSONObject jsonobject = new JSONObject();

jsonobject.put("cell_id", aryCell[i]);

jsonobject.put("location_area_code", lat);

jsonobject.put("mobile_country_code", mcc);

jsonobject.put("mobile_network_code", mnc);

jsonobject.put("signal_strength", j2);

jsonobject.put("age", 0);

jsonarray.put(jsonobject);

} catch (Exception ex) {

ex.printStackTrace();

Log.e("CellInfoManager", ex.getMessage());

}

}

if (isCdma())

jsonarray = new JSONArray();

return jsonarray;

}

public int cid() {

if (!this.valid)

update();

return this.cid;

}

public int[] mpCells() {

int[] aryCells;

if (cid() == 0) {

aryCells = new int[0];

return aryCells;

}

List<NeighboringCellInfo> lsCellInfo = this.tel.getNeighboringCellInfo();

if (lsCellInfo == null || lsCellInfo.size() == 0) {

aryCells = new int[1];

int i = cid();

aryCells[0] = i;

检举补充回答:
return aryCells;

}

int[] arrayOfInt1 = new int[lsCellInfo.size() * 2 + 2];

int j = 0 + 1;

int k = cid();

arrayOfInt1[0] = k;

int m = j + 1;

int n = asu();

arrayOfInt1[j] = n;

Iterator<NeighboringCellInfo> iter = lsCellInfo.iterator();

while (true) {

if (!iter.hasNext()) {

break;

}

NeighboringCellInfo localNeighboringCellInfo = (NeighboringCellInfo) iter.next();

int i2 = localNeighboringCellInfo.getCid();

if ((i2 <= 0) || (i2 == 65535))

continue;

int i3 = m + 1;

arrayOfInt1[m] = i2;

m = i3 + 1;

int i4 = localNeighboringCellInfo.getRssi();

arrayOfInt1[i3] = i4;

}

int[] arrayOfInt2 = new int[m];

System.arraycopy(arrayOfInt1, 0, arrayOfInt2, 0, m);

aryCells = arrayOfInt2;

return aryCells;

}

public JSONObject gsmInfo() {

if (!isGsm()) {

return null;

}

JSONObject localObject = null;

while (true) {

try {

检举补充回答: JSONObject localJSONObject1 = new JSONObject();
String str1 = this.tel.getNetworkOperatorName();

localJSONObject1.put("operator", str1);

String str2 = this.tel.getNetworkOperator();

if ((str2.length() == 5) || (str2.length() == 6)) {

String str3 = str2.substring(0, 3);

String str4 = str2.substring(3, str2.length());

localJSONObject1.put("mcc", str3);

localJSONObject1.put("mnc", str4);

}

localJSONObject1.put("lac", lac());

int[] arrayOfInt = mpCells();

JSONArray localJSONArray1 = new JSONArray();

int k = 0;

int m = arrayOfInt.length / 2;

while (true) {

if (k >= m) {

localJSONObject1.put("cells", localJSONArray1);

localObject = localJSONObject1;

break;

}

int n = k * 2;

int i1 = arrayOfInt[n];

int i2 = k * 2 + 1;

int i3 = arrayOfInt[i2];

JSONObject localJSONObject7 = new JSONObject();

localJSONObject7.put("cid", i1);

localJSONObject7.put("asu", i3);

localJSONArray1.put(localJSONObject7);

k += 1;

}

} catch (JSONException localJSONException) {

localObject = null;

}

}

}

public boolean isCdma() {

if (!this.valid)

update();追问不是android地图,是在PC机上运行的地图小程序。不过还是谢谢了

追答采纳我!

热心网友 时间:2023-09-19 04:56

有几种实现方式,仅供参考:
google Map api

GWT

51地图API

定位:需要经纬度
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
写论文值得推荐的app 写论文app大全汇总 有啥好用又免费的文献查阅网站吗? 高仿苹果手机关机关不了机?是怎么回事?有那个朋友请告知! 高仿苹果6开机就是白屏黑苹果,关机关不了 怎么把电子相册保存到QQ空间相册 整个乡村音乐史上,最动人的25首歌 写给狗的歌 右侧肢体肌力4级是什么意思 肌力分级的评定标准 肌力4级是什么意思 什么地图软件可以规划多点路线的,比如设好起点,... 有没有多点位GPS定位系统最多支持多少个,精度要求... 手机导航哪个最好用。导航功能最全路线最好。能支... 我需要一个多点路线规划图. 什么地图软件能支持呢? 有没有哪个地图app可以进行多点间的最优行程规划? 北汽幻速是哪里生产的 多点定位,怎么定? 北汽集团旗下有哪些整车企业和汽车品牌? 多点怎么定位在新乐超市 铁打的重庆,流水的“力帆们” 战疫情|“满血”吉利发起攻坚 我想知道有没有哪个地图软件是可以记录多个地点并... 北汽银翔汽车有限公司的品牌介绍 有什么地图软件,可以多点标注,设置途径点,按需... 8月车企销量榜:为什么上汽大众\通用还在跌? 窥见2020:车市将回暖or继续下探? 听说比速汽车停产了吗? 市场份额失守,一半自主品牌或将消失? 哪些大事应该被铭记,盘点2019车市十大新闻 自主十年:起落之间 | 无畏十年 什么是多点定位系统 请您详细点 IP多点定位? 锐志天宏多点定位怎么用的 怎样实现gps多点定位??? 20元办6个月黄钻,可能吗? 我想要知道空间开通黄钻一定是20元两个月吗? 到底用移动手机开黄钻是10元还是20元? 情侣黄钻到底是10元还是20元的啊?有不同的说法,... 为什么我冲了20元的黄钻,黄钻还是1级? QQ双方开通情侣黄钻是需要10元还是20元一月? 我花了20元开情侣黄钻,结果两个人都有了黄钻也有... 为什么我充了黄钻20元还不升级? 黄钻充20元就会变为LV2? 为什么我花了20元买两个月黄钻,却显示一级黄钻?? 为什么Q币充了20元开黄钻老是说 个人账户支付失败:... 碧柔四种防晒霜都有哪些区别? qq我现在开通情侣黄钻,需要20元,那我要和我一起... 为什么我充了20元的黄钻,现在只有lv1?(现在一个月... 淘宝上面QQ黄钻一年20元是真的吗 电信飞young套餐,月基本费19,最低消费20,这20元...