安卓端獲取地理位置

package?org.cocos2dx.javascript.LocaltionPos;

import?android.content.pm.PackageManager;

import?android.location.Address;

import?android.location.Geocoder;

import?android.location.Location;

import?android.location.LocationManager;

import?android.support.v4.app.ActivityCompat;

import?org.cocos2dx.javascript.AppActivity;

import?org.cocos2dx.lib.Cocos2dxActivity;

import?org.cocos2dx.lib.Cocos2dxJavascriptJavaBridge;

import?java.io.IOException;

import?java.util.List;

public?class?LocaltionPos?{

????public?static?String?getLocation(AppActivity?activity)?{

????????if?(ActivityCompat.checkSelfPermission(Cocos2dxActivity.getContext(),?android.Manifest.permission.ACCESS_FINE_LOCATION)?!=?PackageManager.PERMISSION_GRANTED

????????????????&&?ActivityCompat.checkSelfPermission(Cocos2dxActivity.getContext(),?android.Manifest.permission.ACCESS_COARSE_LOCATION)?!=?PackageManager.PERMISSION_GRANTED)

????????{

????????????return?"{err:'未開啟定位'}";

????????}

????????LocationManager?mLocationManager?=?(LocationManager)?Cocos2dxActivity.getContext().getSystemService(Cocos2dxActivity.getContext().LOCATION_SERVICE);

????????List<String>?providers?=?mLocationManager.getProviders(true);

????????Location?bestLocation?=?null;

????????for?(String?provider?:?providers)?{

????????????Location?l?=?mLocationManager.getLastKnownLocation(provider);

????????????if?(l?==?null)?{

????????????????continue;

????????????}

????????????if?(bestLocation?==?null?||?l.getAccuracy()?<?bestLocation.getAccuracy())?{

????????????????//?Found?best?last?known?location:?%s",?l);

????????????????bestLocation?=?l;

????????????}

????????}

????????if?(bestLocation?!=?null)?{

????????????String?coordinate;

????????????String?addressStr?=?"";

????????????String?sheng?=?"";????????//省

????????????String?shi?=?"";????????//市

????????????String?qu?=?"";????????//區(qū)

????????????String?lu?=?"";????????//路

????????????final?double?longitude?=?bestLocation.getLongitude();?//經(jīng)度

????????????final?double?latitude?=?bestLocation.getLatitude();??//維度

????????????Geocoder?geocoder?=?new?Geocoder(Cocos2dxActivity.getContext());

????????????try?{

????????????????List<Address>?addresses?=?geocoder.getFromLocation(latitude,?longitude,1);

????????????????StringBuilder?sb?=?new?StringBuilder();

????????????????if?(addresses.size()?>?0)?{

????????????????????Address?address?=?addresses.get(0);

????????????????????int?maxLine?=?address.getMaxAddressLineIndex();

????????????????????if?(maxLine?>=?2)?{

????????????????????????addressStr?=?address.getAddressLine(0)?+?"?"?+?address.getAddressLine(1);

????????????????????}?else?{

????????????????????????addressStr?=?address.getAddressLine(0);

????????????????????}

????????????????????sheng?=?address.getAdminArea();

????????????????????shi?=?address.getLocality();

????????????????????qu?=?address.getSubLocality();

????????????????????lu?=?address.getThoroughfare();

????????????????}

????????????}?catch?(IOException?e)?{

????????????????e.printStackTrace();

????????????}

????????????final?String?pos?=?addressStr;//詳細(xì)位置:**省**市**區(qū)**街道**小區(qū)**號

????????????final?String?province?=?sheng;//省

????????????final?String?city?=?shi;????//市

????????????final?String?district?=?qu;?//區(qū)

????????????final?String?road?=?lu;?????//路

????????????activity.runOnGLThread(new?Runnable()?{

????????????????@Override

????????????????public?void?run()?{

????????????????????String?tocode?=?"cc.game.emit(\"LocaltionPos\",?"+latitude+","+longitude+","+?pos?+?","+province+?","+city+?","+district+?","+road+?");";

????????????????????Cocos2dxJavascriptJavaBridge.evalString(tocode);

????????????????}

????????????});

????????????return?"";

????????}?else?{

????????????return?"{err:'位置不可知'}";

????????}

????}

????/**

?????*?通過經(jīng)緯度得到地理位置

?????*/

????public?static?void?getLocalPositionByAddress(?AppActivity?activity?,double?lng,double?lat)

????{

????????String?coordinate;

????????String?addressStr?=?"";

????????String?sheng?=?"";????????//省

????????String?shi?=?"";????????//市

????????String?qu?=?"";????????//區(qū)

????????String?lu?=?"";????????//路

????????Geocoder?geocoder?=?new?Geocoder(Cocos2dxActivity.getContext());

????????try?{

????????????List<Address>?addresses?=?geocoder.getFromLocation(lat,?lng,1);

????????????StringBuilder?sb?=?new?StringBuilder();

????????????if?(addresses.size()?>?0)?{

????????????????Address?address?=?addresses.get(0);

????????????????int?maxLine?=?address.getMaxAddressLineIndex();

????????????????if?(maxLine?>=?2)?{

????????????????????addressStr?=?address.getAddressLine(0)?+?"?"?+?address.getAddressLine(1);

????????????????}?else?{

????????????????????addressStr?=?address.getAddressLine(0);

????????????????}

????????????????sheng?=?address.getAdminArea();

????????????????shi?=?address.getLocality();

????????????????qu?=?address.getSubLocality();

????????????????lu?=?address.getThoroughfare();

????????????}

????????}?catch?(IOException?e)?{

????????????e.printStackTrace();

????????}

????????final?String?pos?=?addressStr;//詳細(xì)位置:**省**市**區(qū)**街道**小區(qū)**號

????????final?String?province?=?sheng;//省

????????final?String?city?=?shi;????//市

????????final?String?district?=?qu;?//區(qū)

????????final?String?road?=?lu;?????//路

????????final?double?longitude?=?lng;

????????final?double?latitude?=?lat;

????????activity.runOnGLThread(new?Runnable()?{

????????????@Override

????????????public?void?run()?{

????????????????String?tocode?=?"cc.game.emit(\"LocaltionPosByAddress\",?"+latitude+","+longitude+","+?pos?+?","+province+?","+city+?","+district+?","+road+?");";

????????????????Cocos2dxJavascriptJavaBridge.evalString(tocode);

????????????}

????????});

????}

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市钻洒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,718評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜂林,死亡現(xiàn)場離奇詭異宏蛉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)翘单,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蹦渣,“玉大人哄芜,你說我怎么就攤上這事〖砦ǎ” “怎么了认臊?”我有些...
    開封第一講書人閱讀 158,207評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長锄奢。 經(jīng)常有香客問我失晴,道長,這世上最難降的妖魔是什么拘央? 我笑而不...
    開封第一講書人閱讀 56,755評論 1 284
  • 正文 為了忘掉前任涂屁,我火速辦了婚禮,結(jié)果婚禮上灰伟,老公的妹妹穿的比我還像新娘拆又。我一直安慰自己,他們只是感情好栏账,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評論 6 386
  • 文/花漫 我一把揭開白布帖族。 她就那樣靜靜地躺著,像睡著了一般挡爵。 火紅的嫁衣襯著肌膚如雪盟萨。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,050評論 1 291
  • 那天了讨,我揣著相機(jī)與錄音捻激,去河邊找鬼。 笑死前计,一個(gè)胖子當(dāng)著我的面吹牛胞谭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播男杈,決...
    沈念sama閱讀 39,136評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼丈屹,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起旺垒,我...
    開封第一講書人閱讀 37,882評論 0 268
  • 序言:老撾萬榮一對情侶失蹤彩库,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后先蒋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體骇钦,經(jīng)...
    沈念sama閱讀 44,330評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評論 2 327
  • 正文 我和宋清朗相戀三年竞漾,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了眯搭。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,789評論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡业岁,死狀恐怖鳞仙,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情笔时,我是刑警寧澤棍好,帶...
    沈念sama閱讀 34,477評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站允耿,受9級特大地震影響借笙,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜右犹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望姚垃。 院中可真熱鬧念链,春花似錦、人聲如沸积糯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽看成。三九已至君编,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間川慌,已是汗流浹背吃嘿。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梦重,地道東北人兑燥。 一個(gè)月前我還...
    沈念sama閱讀 46,598評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像琴拧,于是被迫代替她去往敵國和親降瞳。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 前些天為app添加了獲取地理位置的功能蚓胸,當(dāng)時(shí)是在發(fā)表內(nèi)容的頁面發(fā)起獲取位置請求挣饥,今天又要為評論也添加位置除师,所以就把...
    MarkShaun閱讀 1,057評論 5 3
  • 一、查看用戶授權(quán)設(shè)置信息 調(diào)用wx.getSetting(object)扔枫,object中有三個(gè)可選參數(shù) obj...
    七月_26e8閱讀 946評論 0 0
  • 第一步獲取用戶ip地址 /** * 獲取用戶真實(shí) IP */ public function getIP() { ...
    老牛圣斗士閱讀 8,384評論 0 2
  • 久違的晴天茧吊,家長會贞岭。 家長大會開好到教室時(shí),離放學(xué)已經(jīng)沒多少時(shí)間了搓侄。班主任說已經(jīng)安排了三個(gè)家長分享經(jīng)驗(yàn)瞄桨。 放學(xué)鈴聲...
    飄雪兒5閱讀 7,515評論 16 22
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友讶踪。感恩相遇芯侥!感恩不離不棄。 中午開了第一次的黨會乳讥,身份的轉(zhuǎn)變要...
    迷月閃星情閱讀 10,559評論 0 11