『壹』 請問目前主流android 定位有哪些,還有百度定位和gps定位有什麼區別
你好:
目前主流的Android定位有如下幾種:
1.通過GPS模塊
GPS方式准確度是最高的,但是它的缺點也非常明顯:1,比較耗電;2,絕大部分用戶默認不開啟GPS模塊;3,從GPS模塊啟動到獲取第一次定位數據,可能需要比較長的時間;4,室內幾乎無法使用。這其中,缺點2,3都是比較致命的。需要指出的是,GPS走的是衛星通信的通道,在沒有網路連接的情況下也能用。
2.基站定位
大致思路就是採集到手機上的基站ID號(cellid)和其它的一些信息(MNC,MCC,LAC等等),然後通過網路訪問一些定位服務,獲取並返回對應的經緯度坐標。基站定位的精確度不如GPS,但好處是能夠在室內用,只要網路通暢就行。
3.WIFI定位
和基站定位類似,這種方式是通過獲取當前所用的wifi的一些信息,然後訪問網路上的定位服務以獲得經緯度坐標。因為它和基站定位其實都需要使用網路,所以在Android也統稱為Network方式。
4.AGPS方式
很多人將它和基站定位混為一談,但其實AGPS的本質仍然是GPS,只是它會使用基站信息對獲取GPS進行輔助,然後還能對獲取到的GPS結果進行修正,所以AGPS要比傳統的GPS更快,准確度略高。
網路定位和GPS定位的區別
這個問題有點模糊,不是一個概念,注意區分一下,智能手機上網路地圖的定位一般選擇GPS開啟吧。
『貳』 android如何獲得手機基站信號強度手機顯示的信號強度是是不是就是基
可以監聽基站的強度變化:
public class MyPhoneStateListener extends PhoneStateListener{
int lastStrength = 0;
@Override
public void onSignalStrengthsChanged(SignalStrength signalStrength) {
super.onSignalStrengthsChanged(signalStrength);
lastStrength = signalStrength.getGsmSignalStrength();
}
public int getLastStrength() {
return lastStrength;
}
}
『叄』 Android手機中怎樣獲取地區編碼和基站編號
final TelephonyManager telephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (telephony.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM) {
final GsmCellLocation location = (GsmCellLocation) telephony.getCellLocation();
if (location != null) {
msg.setText("LAC: " + location.getLac() + " CID: " + location.getCid());
}
}
不要忘記設置 ACCESS_COARSE_LOCATION 或 ACCESS_FINE_LOCATION 許可權, 不然會有SecurityExceptions報出.
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
『肆』 用什麼軟體可以查詢手機的基站定位,並且在地圖上顯示
用cellmap
基站查詢定位系列軟體吧,有很多個版本,android、ppc、pc都可以。
『伍』 android 定位地理位置
定位技術有兩種,一種是基於GPS的定位,一種是基於移動運營網的基站的定位。基於GPS的定位方式是利用手機上的GPS定位模塊將自己的位置信號發送到定位後台來實現手機定位的。基站定位則是利用基站對手機的距離的測算距離來確定手機位置的。後者不需要手機具有GPS定位能力。
目前,一般的定位軟體所使用的都是GPS定位和基站定位相結合。基站定位是通過電信移動運營商的網路(如GSM網)獲取移動終端用戶的位置信息(經緯度坐標)。GPS定位使用衛星,比較費電,精確,但在室內無法定位。基站定位的精度較低,但是可以在室內定位。基站定位的精度很大程度依賴於基站的分布及覆蓋范圍的大小,有時誤差會超過一公里。
手機定位應該根據用戶服務需求的不同提供不同的精度服務,並可以提供給用戶選擇精度的權利。例如美國FCC推出的定位精度在50米以內的概率為67%,定位精度在150米以內的概率為95%。定位精度一方面與採用的定位技術有關,另外還要取決於提供業務的外部環境,包括無線電傳播環境、基站的密度和地理位置、以及定位所用設備等。
基站定位的大致原理為:行動電話測量不同基站的下行導頻信號,得到不同基站下行導頻的TOA(Time of Arrival,到達時刻)或TDOA(Time Difference of Arrival,到達時間差),根據該測量結果並結合基站的坐標,一般採用三角公式估計演算法,就能夠計算出行動電話的位置。實際的位置估計演算法需要考慮多基站(3個或3個以上)定位的情況,因此演算法要復雜很多。一般而言,移動台測量的基站數目越多,測量精度越高,定位性能改善越明顯。
還有,你在使用手機網路地圖等軟體的時候,在不打開網路和GPS的情況下,實際上也能實現定位。但是你可能看不出來,因為在你沒有打開網路的時候,地圖頁面不會載入,看到的只是全屏的網格。但你會看到進入時的點位置有一個明顯的跳動過程,這是該軟體設置的初始位置向你當前位置跳轉。你也可以先打開網路,實用軟體載入一遍地圖,如其存在你的緩存中,這是在關閉網路的情況下就會顯示你的位置。
資料來源:http://ke..com/link?url=UCgPUX7gVVa08-G4Ss-e4N52vlGBg8jrRdytEW7YP_
『陸』 android 新手,求一個GPS定位獲得經緯度的Demo,或者獲取鄰近基站編號,郵箱[email protected]
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.androidxx.yangjw.day30__map_location_demo.R;
import com..location.BDLocation;
import com..location.BDLocationListener;
import com..location.LocationClient;
import com..mapapi.SDKInitializer;
import com..mapapi.map.BaiMap;
import com..mapapi.map.MapStatusUpdate;
import com..mapapi.map.MapStatusUpdateFactory;
import com..mapapi.map.TextureMapView;
import com..mapapi.model.LatLng;
/**
* 密鑰:每一個APP密鑰必須包名和APP的包名一致
*/
public class MainActivity extends AppCompatActivity implements BDLocationListener{
private TextureMapView mapView;
private LocationClient locationClient;
private BaiMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//1、初始化SDK
//參數:必須是全局上下文
//initialize方法必須放在setContentView之前
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_main);
mapView = (TextureMapView) findViewById(R.id._map_view);
//地圖對象
map = mapView.getMap();
locationClient = new LocationClient(getApplicationContext());
locationClient.registerLocationListener(this);
//開啟定位
locationClient.start();
}
@Override
protected void onResume() {
super.onResume();
mapView.onResume();
}
@Override
protected void onPause() {
super.onPause();
mapView.onPause();
}
@Override
protected void onDestroy() {
super.onDestroy();
mapView.onDestroy();
}
@Override
public void onReceiveLocation(BDLocation bdLocation) {
double latitude = bdLocation.getLatitude();
double longitude = bdLocation.getLongitude();
//經緯度對象
LatLng latLng = new LatLng(latitude, longitude);
/**
* 參數1:經緯度對象
* 參數2:縮放級別 3-27
*/
MapStatusUpdate mapStatusUpdate = MapStatusUpdateFactory.newLatLngZoom(latLng, 15);
//將地圖顯示在指定的經緯度的位置
map.setMapStatus(mapStatusUpdate);
}
}
『柒』 android開發高德地圖中如何使用基站信息定位
軟體打開是需要反應時間的,基本上1分鍾內會反應過來,我一直用高德的,要麼有可能你地圖沒更新
『捌』 android怎麼獲取TD-LTE中tac、pci、ci、enb、cellid
每一個鐵塔下班都有一個機房,用來裝其他硬體設備的。例如BTS基站收發信台,及我們通俗說的基站,上面固定著幾個柱型的棒子,那個是基站的天線。朝著不同的方向,用來發射和接收手機信號的。一個基站一般有三個天線裝在機房外邊較高的空曠區,並朝著不同的方向,每個天線負責120的區域,他們各自負責自己區域的手機信號發射和手機信號接受;有的是六個天線,這種情況下,有三個負責發送手機信號,有三個負責接收手機信號。負責發送和接收的那個天線(或者是一個單獨負責發送的天線和一個單獨負責接收的天線組成的一對天線),所朝向的那個扇區,有一個編號,叫 CI號。同一個基站下的CI號的個位數是連續的,各位數一般是1、2、3。
聯通的鐵塔上,有的同時掛著GSM網和CDMA網的天線,所以有時我們也見到鐵塔上有兩層天線。一般較高的天線是GSM網的天線,較低的天線是CDMA的天線。
若干個基站(BTS),連接到同一個基站控制器(BSC)下,並有這一個BSC控制。一個BSC下掛幾個BTS,這根據當地的話務量來決定。有的地區話務量較少,會出現一個基站控制器(BSC)下有70~80個基站(BTS)。
LAC—-location area code 位置區編碼(移動通信系統中),是為尋呼而設置的一個區域,覆蓋 一片地理區域,初期一般按行政區域劃分(一個縣或一個區),現在很靈活了,按尋呼量劃分。當一個LAC下的尋呼量達到一個預警門限,就必須拆分。LAC和BSC、BTS不一樣,後兩者都有相應的設備,而LAC是沒有對應設備的,只是根據話務量等信息劃分的一個尋呼區域。通信部門,人為的將若干個BSC組成一組,並給這個組輻射的區域起了一個編號,於是LAC就誕生了。
『玖』 android獲取用戶位置、手機號、基站信息、經緯度算侵犯用戶的隱私嗎
當然算了,關於這點,你可以比對一下ios,現在用戶標識智能獲取mac地址在經過Hash才能通過審核了,獲取位置之類的信息必須經過用戶同意才可以。
『拾』 華為android手機查看基站信息的命令是什麼
1、華為android手機查看基站信息的命令是
1)在撥號鍵盤輸入 *#*#4636#*#* , 選擇 「手機信息」
2)「位置」那行顯示的就是當前的16進制基站信息,把LAC和CID 填入到本站的 基站查詢 頁面,選擇16進制查詢,即可顯示地圖位置。
3)除了LAC,CELLID外,還可以顯示當前的信號強度,網路類型等等。
2、基站信息的命令
AT+CREG 網路注冊和漫遊
命令發送(command):AT+CREG=<mode>
命令響應(Response):+CREG :<mode>,<stat> [,<lac>,<ci>]
參數說明:<mode>
0 : 禁止網路注冊主動提供結果代碼(默認設置);1 : 允許網路注冊主動提供結果代碼:+CREG:<stat>;2 : 啟用網路注冊和位置信息非請求結果碼+CREG: <stat>[,<lac>,<ci>]。