簡體   English   中英

Google-map-API V2中的當前位置

[英]Current location in Google-map-API V2

我在Android應用程序中使用Google API V2。 我想獲取我的當前位置並在上面添加標記。 我正在使用我的朋友設備。 當我運行代碼時,它顯示了我朋友的房屋位置。 我真的很震驚為什么。

誰能幫我得到我的當前位置。

那是因為您是第一次加載LastKnownLocation,因為它是您的朋友電話,它將顯示您朋友的最后一個已知位置(他的房子)。

代碼看起來不錯,我認為您必須等到找到真正的位置。

(確保您擁有所有權限,並且gps處於開啟狀態)

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
<!-- The following two permissions are not required to use
     Google Maps Android API v2, but are recommended. -->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

當您致電locationManager.getLastKnownLocation(provider)您正在檢索GPS的最后一個位置,就像您的朋友在家時所說的那樣。

如果您想知道自己所在的位置,則應該只調用requestSingleUpdate一次更新,或者調用requestLocationUpdates進行連續更新。

一次使用按鈕偵聽器進行更新的示例:

btnupdate.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            locationManager.requestSingleUpdate(criteria, new LocationListener() {


                @Override
                public void onLocationChanged(Location location) {

                }
                @Override
                public void onProviderEnabled(String provider) {

                }
                @Override
                public void onProviderDisabled(String provider) {

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

                }
            }, getMainLooper());
        }
    });

這實現了LocationManager的偵聽器,使您可以根據Location狀態執行某些操作。

對於您的情況,您已經在活動上實現了偵聽器,因此只需嘗試調用:

locationManager.requestSingleUpdate(criteria, this);

此請求僅需一次更新即可顯示您的當前位置

我要回答我的問題。 我不知道它是否對所有面臨相同問題的人都有效。 我只是嘗試重新啟動移動設備。 重新啟動后,它將獲得正確的當前位置。 所以這是一個硬件問題,盡管我認為這是代碼中的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM