溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android中怎么獲取經(jīng)緯度

發(fā)布時(shí)間:2021-06-29 16:00:36 來(lái)源:億速云 閱讀:123 作者:Leah 欄目:移動(dòng)開(kāi)發(fā)

這篇文章將為大家詳細(xì)講解有關(guān)Android中怎么獲取經(jīng)緯度,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

    private LocationManager locationManager;
    private String locationProvider;

    // 經(jīng)緯度獲取
    private void jingwd() {
        // 獲取地理位置管理器
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        // 獲取所有可用的位置提供器
        List<String> providers = locationManager.getProviders(true);
        if (providers.contains(LocationManager.GPS_PROVIDER)) {
            // 如果是GPS
            locationProvider = LocationManager.GPS_PROVIDER;
        } else if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
            // 如果是Network
            locationProvider = LocationManager.NETWORK_PROVIDER;
        } else {
            Toast.makeText(this, "沒(méi)有可用的位置提供器", Toast.LENGTH_SHORT).show();
            return;
        }
        // 獲取Location
        Location location = locationManager
                .getLastKnownLocation(locationProvider);
        if (location != null) {
            // 不為空,顯示地理位置經(jīng)緯度
            showLocation(location);
        }
        // 監(jiān)視地理位置變化
        locationManager.requestLocationUpdates(locationProvider, 3000, 1,
                locationListener);
    }

    /**
     * 顯示地理位置經(jīng)度和緯度信息
     * 
     * @param location
     */
    private void showLocation(Location location) {
        jingD = location.getLongitude();
        weiD = location.getLatitude();
    }

    /**
     * LocationListern監(jiān)聽(tīng)器 參數(shù):地理位置提供器、監(jiān)聽(tīng)位置變化的時(shí)間間隔、位置變化的距離間隔、LocationListener監(jiān)聽(tīng)器
     */

    LocationListener locationListener = new LocationListener() {

        @Override
        public void onStatusChanged(String provider, int status, Bundle arg2) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }

        @Override
        public void onLocationChanged(Location location) {
            // 如果位置發(fā)生變化,重新顯示
            showLocation(location);

        }
    };

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (locationManager != null) {
            // 移除監(jiān)聽(tīng)器
            locationManager.removeUpdates(locationListener);
        }
    }

關(guān)于Android中怎么獲取經(jīng)緯度就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI