Android端地图,百度地图学习(II)-Android端的定位
哎,經(jīng)歷了小編的最近時間的研究,我的百度定位終于成功啦,剎那間覺得自己萌萌噠啦(~ ̄▽ ̄)~
話不多說,直接進(jìn)入正題:
首先,我們來看一下效果:
【分析定位原理】
【編碼分析】
2)增加布局信息:此處只有一個按鈕和一個文本信息
3)編寫java代碼:
public class MainActivity extends Activity {
private Button btn_lbs=null;
private TextView show_lbs=null;
private LocationClient locationClient=null;
private static final int UPDATE_TIME=5000; //更新頻率
private static int LOCATION_COUNTS=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn_lbs=(Button)findViewById(R.id.btn_lbs);
show_lbs=(TextView)findViewById(R.id.show_lbs);
locationClient =new LocationClient(this);
//設(shè)置定位條件
LocationClientOption option = new LocationClientOption();
option.setLocationMode(LocationMode.Hight_Accuracy);//設(shè)置高精度定位定位模式
option.setCoorType("bd09ll");//設(shè)置百度經(jīng)緯度坐標(biāo)系格式
option.setScanSpan(UPDATE_TIME);//設(shè)置發(fā)起定位請求的間隔時間為1000ms
option.setIsNeedAddress(true);//反編譯獲得具體位置,只有網(wǎng)絡(luò)定位才可以
locationClient.setLocOption(option); //講option的初始化信息添加到客戶端
//注冊位置的監(jiān)聽事件
locationClient.registerLocationListener(new BDLocationListener() {
@Override
public void onReceiveLocation(BDLocation location) {
// 定位回調(diào)信息
if(location==null){
return;
}
StringBuffer sb=new StringBuffer();
sb.append("Time : ");
sb.append(location.getTime());
sb.append("\nError code : ");
sb.append(location.getLocType()); //獲取定位類型
sb.append("\nLatitude : ");
sb.append(location.getLatitude()); // 獲取緯度坐標(biāo)
sb.append("\nLontitude : ");
sb.append(location.getLongitude()); //獲取精度坐標(biāo)
sb.append("\nRadius : ");
sb.append(location.getRadius()); //獲取定位精度
if (location.getLocType() == BDLocation.TypeGpsLocation){
sb.append("\nSpeed : ");
sb.append(location.getSpeed()); //獲取速度,僅gps定位結(jié)果時有速度信息
sb.append("\nSatellite : ");
sb.append(location.getSatelliteNumber());
} else if (location.getLocType() == BDLocation.TypeNetWorkLocation){
sb.append("\nAddress : ");
sb.append(location.getAddrStr()); //獲取詳細(xì)地址信息
}
LOCATION_COUNTS ++;
sb.append("\n檢查位置更新次數(shù):");
sb.append(String.valueOf(LOCATION_COUNTS));
show_lbs.setText(sb.toString());
}
});
btn_lbs.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if(locationClient==null){
return;
}
if(locationClient.isStarted()){
btn_lbs.setText("開啟定位");
locationClient.stop();
}else{
btn_lbs.setText("關(guān)閉定位");
locationClient.start();
/*
*當(dāng)所設(shè)的整數(shù)值大于等于1000(ms)時,定位SDK內(nèi)部使用定時定位模式。
*調(diào)用requestLocation( )后,每隔設(shè)定的時間,定位SDK就會進(jìn)行一次定位。
*如果定位SDK根據(jù)定位依據(jù)發(fā)現(xiàn)位置沒有發(fā)生變化,就不會發(fā)起網(wǎng)絡(luò)請求,
*返回上一次定位的結(jié)果;如果發(fā)現(xiàn)位置改變,就進(jìn)行網(wǎng)絡(luò)請求進(jìn)行定位,得到新的定位結(jié)果。
*定時定位時,調(diào)用一次requestLocation,會定時監(jiān)聽到定位結(jié)果。
*/
locationClient.requestLocation();
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if(locationClient!=null&&locationClient.isStarted())
{
locationClient.stop();
locationClient=null;
}
}
}
【總結(jié)】
由于小編比較笨拙,所以研究了好長一段時間才解決,以上分析屬于自己的理解
LocationClient屬于客戶端,客戶端通過設(shè)置位置的監(jiān)聽事件從而實(shí)現(xiàn)位置的獲得,切忌注意一點(diǎn),當(dāng)程序結(jié)束的時候,你的定位的客戶端:LocationClient應(yīng)該是處于關(guān)閉狀態(tài)的
【附錄】
C#的百度地圖開發(fā)(四)前端顯示與定位
原文:C#的百度地圖開發(fā)(四)前端顯示與定位 有了這些定位信息,那要如何在前端的頁面上顯示出來呢?這需要用到百度地圖的JavaScript的API.下面是示例代碼. 前端代碼
使用百度地圖API進(jìn)行Android地圖應(yīng)用開發(fā)(Eclipse)
隨著基于位置的服務(wù)的興起,地圖類App呈現(xiàn)爆發(fā)趨勢.隨著而來的是地圖供應(yīng)商開放大量的API.供開發(fā)人員開發(fā)基于PC或者移動端的應(yīng)用程序. 如今我們研究使用百度地圖SDK進(jìn)行Android項(xiàng)目的開發(fā). ...
百度地圖API 顯示區(qū)域邊界及地名定位
百度地圖API 顯示區(qū)域邊界及地名定位 這個定位一共用了兩個方法組成 一個是定位繪制區(qū)域邊界線,另一個是地名定位 原理: 當(dāng)用戶輸入省.市.縣.區(qū)這種大地名時,我們要定位用戶輸入的這個位置,并顯示輪廓 ...
百度地圖SDK for Android【Demo興趣點(diǎn)搜索】
百度地圖SDK為開發(fā)人員提供了便捷的檢索服務(wù). 今天我將為大家介紹Poi檢索相關(guān)的內(nèi)容. 首先,我們要構(gòu)建一個最主要的地圖應(yīng)用.詳細(xì)介紹請參考:百度地圖SDK for Android[ ...
百度地圖學(xué)習(xí)(Ⅰ)-Android端地圖的顯示及簡單應(yīng)用
ps:(1.地圖應(yīng)用一定要在真機(jī)測試: 2.Design By:Android Stdio: 3.百度地圖官方參考鏈接(http://developer.baidu.com/map/index.php ...
[android] 百度地圖開發(fā) (兩).所在地的城市定位和城市POI搜索
一個. 百度地圖城市位置和POI搜索知識 ? ? ? 上一篇文章"百度地圖開發(fā)(一)"中講述了怎樣申請百度APIKey及解決顯示空白網(wǎng)格的問題.該篇文章主要講述怎樣定位城市位置.定 ...
Android Studio下加入百度地圖的使用(二)——定位服務(wù)
上一章(http://www.cnblogs.com/jerehedu/p/4891216.html)中我們已經(jīng)完成了環(huán)境的搭建,這一章我們來研究一下如何使用. 第一步:在xml文件中加入以下權(quán)限 & ...
【百度地圖學(xué)習(xí)-一】初始化以及TextOverlay
一.百度地圖的初始化 主要用到三個類: 1.BMapManager:使用地圖sdk前需先初始化BMapManager.BMapManager是全局的,可為多個MapView共用,它需要地圖模塊創(chuàng)建前創(chuàng) ...
百度地圖SDK for Android【檢索服務(wù)】
1搜索服務(wù) 百度地圖SDK集成搜索服務(wù)包括:位置檢索.周邊檢索.范圍檢索.公交檢索.駕乘檢索.步行檢索,通過初始化MKSearch類,注冊搜索結(jié)果的監(jiān)聽對象MKSearchListener,實(shí)現(xiàn)異步搜 ...
隨機(jī)推薦
跟我一起學(xué)WCF(4)——第一個WCF程序
一.引言 前面幾篇文章分享了.NET 平臺下其他幾種分布式技術(shù),然而前面幾種分布式技術(shù)專注于某一特定的領(lǐng)域,并且具有不同編程接口,這使得開發(fā)人員需要掌握多個API的使用.基于這樣的原因,微軟在.NET ...
【同行說技術(shù)】iOS程序員從小白到大神必讀資料匯總
在文章里面介紹了很多iOS入門學(xué)習(xí)的資料,今天小編就發(fā)幾篇技術(shù)進(jìn)階的文章,快來看看吧! 一.iOS后臺模式開發(fā)指南 這個教程會教你在什么時候怎 ...
在ascx中調(diào)用另一個ascx的寫法
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...
cf C. Cupboard and Balloons
http://codeforces.com/contest/342/problem/C #include #include #includ ...
linux命令:rm
刪文件要一個個回答y,誰有好辦法自動刪除? rm -rf 用rm遞歸刪除目錄下面的所有.o文件: find . -name "*.o" ?| xargs rm -f :
UNIX環(huán)境高級編程——system函數(shù)
system函數(shù) 功能:調(diào)用fork產(chǎn)生子進(jìn)程,由子進(jìn)程來調(diào)用:/bin/sh -c command來執(zhí)行參數(shù)command所代表的命令,阻塞當(dāng)前進(jìn)程直到command命 令執(zhí)行完畢. int sys ...
Android Aop日志
Android在許多情況下需要知道一些方法的耗時,然后對與這些耗時進(jìn)行一些處理和優(yōu)化.當(dāng)然我們可以在方法的開頭和結(jié)尾分別來打一行日志來解決這個問題.但是這個方式侵入性強(qiáng),而且比較難以修改和刪除這些日志 ...
Django的Hello World
Django安裝 yum -y install python #安裝python yum -y install epel-release #安裝擴(kuò)展源 yum -y install python-pi ...
Zabbix Server 自帶模板監(jiān)控更加靈活MySQL數(shù)據(jù)庫
Zabbix Server 自帶模板監(jiān)控更加靈活MySQL數(shù)據(jù)庫 作者:尹正杰 版權(quán)聲明:原創(chuàng)作品,謝絕轉(zhuǎn)載!否則將追究法律責(zé)任.? 一.zabbix-agent端配置 1>.修改zabbix的 ...
[Leetcode]雙項(xiàng)隊列解決滑動窗口最大值難題
這道題是從優(yōu)先隊列的難題里面找到的一個題目.可是解法并不是優(yōu)先隊列,而是雙項(xiàng)隊列deque 其實(shí)只要知道思路,這一道題直接寫沒有太大的問題.我們看看題 給定一個數(shù)組 nums,有一個大小為 k 的滑動 ...
總結(jié)
以上是生活随笔為你收集整理的Android端地图,百度地图学习(II)-Android端的定位的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 干货 |VALSE 2019总结 --P
- 下一篇: Android 自定义titlebar控