日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

java基站定位接口实例

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java基站定位接口实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該接口基于LBS數據倉庫

接口地址:http://api.cellocation.com:81/cell/

支持格式: CSV/JSON/XML
請求方式: GET

請求示例:http://api.cellocation.com:81/cell/?mcc=460&mnc=1&lac=4301&ci=20986&output=xml

名稱類型必填說明
mccintmcc國家代碼:中國代碼 460
mncintmnc網絡類型:0移動,1聯通(電信對應sid),十進制
lacintlac(電信對應nid),十進制
ciintcellid(電信對應bid),十進制
coordstring坐標類型(wgs84/gcj02/bd09),默認wgs84
outputstring返回格式(csv/json/xml),默認csv

返回數據格式:CSV
errcode,緯度,經度,精度半徑,地址

errcode
0: 成功
10000: 參數錯誤
10001: 無查詢結果

示例:
0,39.999024,116.476159,222,”北京市朝陽區望京街道北京市望京實驗學校(寶星分校);阜安路與宏泰東街路口西231米”

?

java實例:

public class LocationUtils {private static final Logger _log = Logger.getLogger(LocationUtils.class);private static LocationDao locationDao;private static String ENCODING = "UTF-8";private static int CONNECT_TIMEOUT = 30000;// private static int READ_TIMEOUT = 10000;private static int READ_TIMEOUT = 30000;/*** 獲取具體的位置* @param mnc* @param mcc* @param lac* @param ci* @return*/public static Location getLocation(int mnc, int mcc, int lac, int ci) {Location location = new Location();HttpURLConnection conn = null;BufferedReader br = null;try {StringBuffer sb = new StringBuffer();sb.append("http://api.cellocation.com:81/cell?output=json");sb.append("&mnc=").append(mnc);sb.append("&mcc=").append(mcc);sb.append("&lac=").append(lac);sb.append("&ci=").append(ci);URL url = new URL(sb.toString());conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod(ReqMethod.GET);conn.setRequestProperty("Accept-Charset", ENCODING);conn.setRequestProperty("contentType", "application/json; charset=" + ENCODING);conn.setConnectTimeout(CONNECT_TIMEOUT);conn.setReadTimeout(READ_TIMEOUT);_log.info("line--------"+sb.toString()); // int responseCode = conn.getResponseCode(); // _log.debug("responseCode-> " + responseCode);br = new BufferedReader(new InputStreamReader(conn.getInputStream(), ENCODING));String line = null;StringBuffer buffer = new StringBuffer();while ((line = br.readLine()) != null) {buffer.append(line);}line = buffer.toString();JSONObject obj = JSONObject.fromObject(line);if(obj.getInt("errcode") == 0){location.setSuccess(true);location = (Location) JSONObject.toBean(obj, Location.class);_log.info("--1:"+obj.getString("address"));}else{location.setSuccess(true);location.setErrcode(obj.getInt("errcode")+"");}} catch (Exception e) {_log.error(e.getMessage());e.printStackTrace();}finally{if(br != null){try{br.close();}catch(IOException e){_log.error("close stream error -> " + e);}}if (conn != null) {conn.disconnect();}}return location;}public static double distance(double lon1, double lat1, double lon2, double lat2) {double a, b, R;R = 6378137; // 地球半徑lat1 = lat1 * Math.PI / 180.0;lat2 = lat2 * Math.PI / 180.0;a = lat1 - lat2;b = (lon1 - lon2) * Math.PI / 180.0;double d;double sa2, sb2;sa2 = Math.sin(a / 2.0);sb2 = Math.sin(b / 2.0);d = 2 * R * Math.asin(Math.sqrt(sa2 * sa2 + Math.cos(lat1) * Math.cos(lat2) * sb2 * sb2));return d;}public static String getENCODING() {return ENCODING;}public static void setENCODING(String eNCODING) {ENCODING = eNCODING;}public static int getCONNECT_TIMEOUT() {return CONNECT_TIMEOUT;}public static void setCONNECT_TIMEOUT(int cONNECT_TIMEOUT) {CONNECT_TIMEOUT = cONNECT_TIMEOUT;}public static int getREAD_TIMEOUT() {return READ_TIMEOUT;}public static void setREAD_TIMEOUT(int rEAD_TIMEOUT) {READ_TIMEOUT = rEAD_TIMEOUT;}public LocationDao getLocationDao() {return locationDao;}public void setLocationDao(LocationDao locationDao) {this.locationDao = locationDao;}}

?

總結

以上是生活随笔為你收集整理的java基站定位接口实例的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。