1. 程式人生 > >百度地圖定位功能的簡單應用

百度地圖定位功能的簡單應用

	private TextView mLocationResult;
	private Button btn;
	
	public LocationClient mLocationClient = null;    //核心類locationClient 需要注意的是此類只能在主執行緒中宣告而且需要context物件
	public BDLocationListener myListener = new MyLocationListener();  
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		mLocationClient = new LocationClient(getApplicationContext());
		mLocationClient.registerLocationListener(myListener);  //註冊監聽
		
		mLocationResult = (TextView) findViewById(R.id.textView1);  
		btn = (Button) findViewById(R.id.button1);
		btn.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				initLocation();    //設定定位引數
				mLocationClient.start();  //啟動定位
			}
		});
	}
	
	private void initLocation() {
		LocationClientOption option = new LocationClientOption();
		option.setLocationMode(LocationMode.Hight_Accuracy);//設定定位模式
		option.setCoorType("bd09ll");//返回的定位結果是百度經緯度,預設值gcj02
		option.setScanSpan(0);//設定發起定位請求的間隔時間為5000ms
		option.setIsNeedAddress(true);//返回的定位結果包含地址資訊
		option.setNeedDeviceDirect(true);//返回的定位結果包含手機機頭的方向
		mLocationClient.setLocOption(option);
	}

<span style="white-space:pre">	</span>//實現介面
	public class MyLocationListener implements BDLocationListener {
		@Override
		public void onReceiveLocation(BDLocation location) {
			if (location == null)
		            return ;
			StringBuffer sb = new StringBuffer(256);
			sb.append("time : ");   //定位的時間
			sb.append(location.getTime());
			sb.append("\nerror code : ");   //返回碼 用於表示定位是否成功或者基於什麼定位等
			sb.append(location.getLocType());
			sb.append("\nlatitude : ");  //緯度
			sb.append(location.getLatitude());
			sb.append("\nlontitude : ");   //經度
			sb.append(location.getLongitude());
			sb.append("\nradius : ");    //定位精度
			sb.append(location.getRadius());
			if (location.getLocType() == BDLocation.TypeGpsLocation){
				sb.append("\nspeed : ");    
				sb.append(location.getSpeed());
				sb.append("\nsatellite : ");
				sb.append(location.getSatelliteNumber());
			} else if (location.getLocType() == BDLocation.TypeNetWorkLocation){
				sb.append("\naddr : ");
				sb.append(location.getAddrStr());
			} 
			logMsg(sb.toString());
		}
	}

	/**
	 * 顯示獲得的定位情況字串
	 * @param str
	 */
	public void logMsg(String str) {
		try {
			if (mLocationResult != null)
				mLocationResult.setText(str);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

定位結果:
一個簡單的不能再簡單的功能,實在沒有什麼技術含量,僅供初學者學習使用,不喜勿噴。

相關推薦

地圖定位功能簡單應用

private TextView mLocationResult; private Button btn; public LocationClient mLocationClient = null; //核心類locationClient 需要注意的是此類只能在主執行緒中宣告而且需要conte

【MUI】地圖定位功能

scom 需要 read rto code lan containe convert marker 博主最近進行一款APP開發,需要用到定位功能,經過一番折騰,終於搞定,不廢話,代碼如下 mui.plusReady(function() {

Android開發之地圖定位以及簡單覆蓋物的實現

直接上程式碼: 先看下效果圖: 我這裡主要做了三個功能: 1.一秒鐘實時定位功能; 2.新增任意經緯度地點到地圖上; 3.判斷朝陽門是否在本人定位範圍1000米內; 百度地圖初始化方法: DemoApplication.java package com

地圖定位功能的錯誤has leaked ServiceConnection 解決

首先感謝博主總結: http://blog.csdn.net/u010940300/article/details/43488651 再次在博主的基礎上補充說明: 1、androidmanifest檔案中application節點下新增 備註: 新版的sdk 用這個    

地圖sdk的簡單應用

最近研究了很多的第三方sdk,今天稍微簡單的研究下百度sdk,打個基礎,做個記錄,方便以後深入研究, 本文主要實現百度地圖基本的型別和定位自己的位置功能 最終效果圖如下: 進入介面後,會自動定位到自己的位置,然後有幾個基本的型別,都是很基本的功能,如果以後有這方面的

地圖SDK(二)——簡單地圖定位demo

MainActivity程式碼如下:package com.example.administrator; import android.content.Intent; import android.os.Bundle; import android.support.v7.ap

微信企業號開發:微信考勤地圖定位,錯誤修正二

ipp ons AC 信息 解釋 企業號 android bsp ner 在之前的博客中微信企業號開發:微信考勤百度地圖定位,錯誤修正介紹了一種修正百度地圖錯誤的方法

地圖API功能

fun 功能 縮小 TE cal esc oom 地圖 n) // 百度地圖API功能var city = "";var map = new BMap.Map("allmap"); // 創建Map實例function myFun(result){ var ci

JavaScript--地圖定位,可拖拽

event 控件 int pla location view api 事件 ont <html> <head> <meta http-equiv="Content-Type" content="text/html; char

地圖定位失敗162問題

http inf bubuko 百度 img 刪掉 。。 .so 程序 今天突然要改程序,發現之前寫的定位的一直返回4.9E-324.百度文檔說是因為.so包的問題,但是看來半天我有.so包啊!為什麽還不行。。。。。沒有編譯 ,一開始我直接復制的文檔裏的這個放上去後還是不行

地圖-定位不準的問題

情況描述:用百度定位做的打卡功能,用資料流量定位,華為小米手機能成功定位當前位置,換個品牌手機,定位位置偏差到旁邊200m外的小區 資料參考  上面這段是百度官方文件裡面的解釋:  這個我 在做的時候基本是這種情況, 文件裡面提到的 精度取決於晶片的問題,其實就是不同手機

地圖BMap API的應用例項

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

wex5 如何利用 地圖 定位 和 天氣外掛

引包: require("cordova!cordova-plugin-geolocation"); require("cordova!com.justep.cordova.plugin.baidulocation");     Model.prototy

地圖定位顯示

//單個地圖顯示 <html> <head>     <title>百度地圖</title>   <script src="http://api.map.baidu.com/api?v=1.4" type="

Android studio3.0對於地圖api開發(2)——地圖定位指定地點以及地圖型別的變換

      承接上一篇文章寫的,https://blog.csdn.net/qq_41562408/article/details/82794772已經實現了百度地圖的工具準備以及基本的地圖顯示,不過就一個地圖應用來說,只是單純的顯示一種地圖型別以及只是能夠定位到天安門其他地

Android studio3.0對於地圖api開發(3)——地圖定位當前地點以及地圖覆蓋物簡介

   承接上文,上文已經實現了按照緯經度進行地點的定位以及不同地圖型別的切換,https://blog.csdn.net/qq_41562408/article/details/82802082但是就我們普通使用者的需求來說,這遠遠不夠。使用者更希望能夠直接顯示自己的當前位置

地圖定位開發流程

 百度地圖是我們日常生活中必不可少的,他能幫助我們找到自己想去的地方,方便出行等等。  下面我就來介紹一下怎樣去使用百度地圖來實現自定位功能,跟著我的思路往下走。。。。。。 選中導航欄的開發文件再點開Android定位SDK,再根據官網的流程講解,一步一步的跟著他

安卓開發關於地圖定位返回經緯度4.9E324引數 解決方案

百度地圖提供的sdk開發包搞不好就被坑了. Android機型適配不夠好,部分手機能夠定位有些手機不能定位!!!!! 用百度定位的時候一直定位不到,拿到的經緯度都是4.9E-324,Google了一下,發現不少人出現這個問題,經過一番研究,最終解決了這個問題。 目

地圖API呼叫簡單入門例項

<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv

地圖定位API,精度提高

我使用百度定位API DEMO上面好像就可以setCoorType("bd09ll");//百度地圖座標。然後我找了下從其它座標體系遷移到百度座標。問下:1、那我還能不能在百度定位API的基礎上對定位進行優化?因為實測定位精度不怎麼準確。2、定位時能否獲取到小區或街道的名字呢? 而不是國家+省+市(縣)+XX