本發明涉及通信
技術領域:
,尤其涉及一種獲取終端位置信息的方法及裝置。
背景技術:
:隨著通信技術的發展,終端中基于位置的應用越來越多,例如:導航應用和團購應用等。這類應用在為用戶提供服務時需要調用終端的位置信息。目前,常用的終端定位方法包括基于無線通信網絡基站的定位法和基于全球定位系統(英文:GlobalPositioningSystem,GPS)的定位法。其中,基于無線通信網絡基站的定位法為:通過檢測終端和蜂窩網內多個蜂窩區基站之間傳播信號的特征參數計算終端的位置信息;基于GPS的定位法為:通過同一時刻終端從3顆或3顆以上衛星接收到的星歷參數和時間信息計算終端的位置信息。然而,終端所處環境網絡信號較差時,基于無線通信網絡基站的定位法耗時較長且定位誤差較大;終端位于室內或者覆蓋終端的衛星少于3顆時,基于GPS的定位方法無法進行定位。也就意味著,當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息。技術實現要素:本發明提供一種獲取終端位置信息的方法及裝置,能夠解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題。為達到上述目的,本發明采用如下技術方案:第一方面,本發明提供一種獲取終端位置信息的方法,該方法包括:啟動應用后,發送獲取當前位置信息的請求;若在指定時間內未獲取到所述當前位置信息,則將預存儲的位置信息確定為所述當前位置信息,以便于所述應用根據所述預存儲的位置信息提供服務。第二方面,本發明提供一種獲取終端位置信息的裝置,該裝置包括;獲取單元,用于啟動應用后,發送獲取當前位置信息的請求;確定單元,用于當所述獲取單元在指定時間內未獲取到所述當前位置信息時,將預存儲的位置信息確定為所述當前位置信息,以便于所述應用根據所述預存儲的位置信息提供服務。本發明提供的獲取終端位置信息的方法及裝置,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在指定時間內未獲取到終端的位置信息時,將預存儲的位置信息確定為終端的當前位置信息。這樣一來,在終端所處環境比較封閉且網絡信號較差的情況下,本發明能夠通過預存儲的數據直接提供終端的位置信息,以供應用使用。因此,本發明能夠解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題。附圖說明為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。圖1為本發明實施例提供的一種獲取終端位置信息的方法流程圖;圖2為本發明實施例提供的另一種獲取終端位置信息的方法流程圖;圖3為本發明實施例提供的另一種獲取終端位置信息的方法流程圖;圖4為本發明實施例提供的另一種獲取終端位置信息的方法流程圖;圖5為本發明實施例提供的一種獲取終端位置信息的裝置結構示意圖;圖6為本發明實施例提供的一種終端的結構示意圖。具體實施方式下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其它實施例,都屬于本發明保護的范圍。本發明實施例提供一種獲取終端位置信息的方法,如圖1所示,該方法可以由終端執行,該方法流程具體包括:101、啟動應用后,發送獲取當前位置信息的請求。在本發明實施例中,終端具有支持定位功能的模塊,終端能夠從該模塊獲取當前位置信息。其中,支持定位功能的模塊可以使用諸如基于無線通信網絡基站或者基于GPS等的定位法來確定終端的當前位置信息。終端中基于位置的應用在提供服務時,可以通過向支持定位功能的模塊發送獲取當前位置信息的請求來獲取終端的當前位置信息,以便于應用基于終端的當前位置信息提供相應的服務。例如,用戶啟動大眾點評應用后,大眾點評應用通過向支持定位功能的模塊發送獲取當前位置信息的請求來獲取終端的當前位置信息,從而向用戶提供附近餐館的用戶評價;用戶啟動地圖應用后,地圖應用通過向支持定位功能的模塊發送獲取當前位置信息的請求來獲取終端的當前位置信息,從而為用戶規劃路線。102、若在指定時間內未獲取到當前位置信息,則將預存儲的位置信息確定為當前位置信息。在本發明實施例中,可以將支持定位功能的模塊確認定位失敗的時間長度確定為指定時間,也可以將用戶能夠接受的定位等待時間確定為指定時間,對于指定時間的設置方法本發明不作限定。指定時間設置后,用戶可以修改指定時間。目前,支持定位功能的模塊確認定位失敗的時間長度為2秒或3秒。終端所處環境比較封閉或網絡信號較差等原因可能會造成終端在指定時間內通過支持定位功能的模塊獲取當前位置信息失敗。此時,可以將終端中預存儲的位置信息確定為當前位置信息,以便于應用根據預存儲的位置信息提供服務。本發明實施例提供的獲取終端位置信息的方法,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在指定時間內未獲取到終端的位置信息時,將預存儲的位置信息確定為終端的當前位置信息。這樣一來,在終端所處環境比較封閉且網絡信號較差的情況下,本發明能夠通過預存儲的數據直接提供終端的位置信息,以供應用使用。因此,本發明能夠解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題。為了保證應用根據終端中預存儲的位置信息確定終端位置時,誤差較小,在本發明實施例的一個實現方式中,可以周期性的更新終端中預存儲的數據。因此,在如圖1所示的實現方式的基礎上,還可以實現為如圖2所示的實現方式。其中,在執行步驟102若在指定時間內未獲取到當前位置信息,則將預存儲的位置信息確定為當前位置信息之前,還可以執行步驟103至步驟106:103、按照預設時間間隔,確定終端的位置信息。終端中支持定位功能的模塊按照預設時間間隔周期性的確定終端的位置信息。其中,預設時間間隔可以由用戶根據需求自定義設置,例如:3秒。可以理解的是,當預設時間間隔較小時,終端的實際位置信息與預存儲的位置信息差距較小,但占用的系統資源較多;當預設時間間隔較大時,終端的實際位置信息與預存儲的位置信息差距較大,但占用的系統資源較少。104、確定是否為首次確定終端的位置信息。若是,則執行步驟105,否則,執行步驟106。105、建立并存儲位置信息與定位時刻之間的對應關系。在本發明實施例中,預存儲的數據的存儲結構可以如表1所示。其中,定位時刻為確定位置信息的時刻,定位時刻的數據類型可以為Date(中文:日期)類型;終端的位置信息使用經緯度表示,經度和緯度的數據類型可以為Double(中文:雙精度)類型。表1預存儲的數據的存儲結構緯度經度定位時刻106、根據位置信息和定位時刻更新預存儲的位置信息和定位時刻。本發明實施例提供的獲取終端位置信息的方法,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題的基礎上,通過周期性更新預存儲的位置信息,從而減小根據預存儲的位置信息確定終端位置時的誤差。為了減小預存儲的數據在更新過程中產生的誤差,在本發明實施例的一個實現方式中,可以在更新預存儲的數據前,對更新過程所使用的位置信息和定位時刻進行合理性驗證。因此,在如圖2所示的實現方式的基礎上,還可以實現為如圖3所示的實現方式。其中,步驟106根據位置信息和定位時刻更新預存儲的位置信息和定位時刻可以具體實現為步驟1061至步驟1064:1061、讀取預存儲的位置信息,并根據定位時刻終端的位置信息和讀取的位置信息確定終端的位移。可以理解的是,為了保證預存儲的位置信息是最接近當前時刻的位置信息,需要使用最近一次確定的位置信息覆蓋之前確定的位置信息。因此,在本發明實施例中,可以當定位時刻大于預存儲的定位時刻時執行步驟1061。需要說明的是,定位時刻終端的位置信息(φ1,λ1)與預存儲的位置信息(φ2,λ2)之間的距離d的計算方法為:d=111.12cos{1/[sinφ1*sinφ2+cosφ1cosφ2(λ2-λ1)]}。其中,φ1和φ2為緯度,λ1和λ2為經度。d實際表示的是定位時刻終端的位置與預存儲的定位時刻終端的位置之間的距離。1062、確定終端的位移是否在位移閾值內。若是,則執行步驟1063;否則,執行步驟1064。考慮到在一定時間內終端的位移是有限的,若在一定時間內終端的移動距離超過一定距離,則表明在確定終端的位置信息的過程中可能產生了錯誤,不能使用該位置信息更新預存儲的位置信息。在本發明實施例中,還可以在確定終端的位置信息之后,確定定位時刻與預存儲的定位時刻之間的時間間隔內,終端的平均速度。之后確定終端的平均速度是否在速度閾值內;若是,則執行步驟1063;否則,執行步驟1064。其中,終端的平均速度=定位時刻終端的位置信息和預存儲的位置信息確定終端的位移/定位時刻與預存儲的定位時刻之間的時間間隔。需要說明的是,位移閾值可以根據預設時間間隔設置,呈正相關。1063、將預存儲的位置信息更新為定位時刻終端的位置信息,并將預存儲的定位時刻更新為定位時刻。1064、保持預存儲的位置信息和定位時刻不變。本發明實施例提供的獲取終端位置信息的方法,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題的基礎上,根據預存儲的位置信息和定位時刻檢查確定的位置信息的合理性,當檢查通過時,通過將坐預存儲的位置信息更新為位置信息,并將預存儲的定位時刻更新為定位時刻,從而避免更新預存儲的數據的過程中產生錯誤。為了及時更新預存儲的數據,在本發明實施例的一個實現方式中,根據當前時刻獲取到的位置信息更新預存儲的數據。因此,在如圖1所示的實現方式的基礎上,還可以實現為如圖4所示的實現方式。其中,在執行步驟101啟動應用后,發送獲取當前位置信息的請求之后還可以執行步驟107:107、若在指定時間內獲取到當前位置信息,則根據當前位置信息更新預存儲的位置信息,并根據獲取當前位置信息的時刻更新預存儲的定位時刻。需要說明的是,終端在指定時間內獲取到了當前位置信息后,可以根據預存儲的位置信息和定位時刻,檢查當前位置信息的合理性。合理性檢查通過后,再將當前位置信息提供給應用使用,并根據當前位置信息和獲取當前位置信息的時刻更新預存儲的數據。本發明實施例提供的獲取終端位置信息的方法,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題的基礎上,根據當前位置信息和獲取當前位置信息的時刻更新預存儲的數據,從而進一步提高根據預存儲的位置信息進行定位的準確性。本發明實施例提供一種獲取終端位置信息的裝置20,該裝置20可以用于執行如圖1至圖4所示的任意一套方法流程,如圖5所示,該裝置20包括:獲取單元201,用于啟動應用后,發送獲取當前位置信息的請求。確定單元202,用于當獲取單元201在指定時間內未獲取到當前位置信息時,將預存儲的位置信息確定為當前位置信息,以便于應用根據預存儲的位置信息提供服務。在本發明實施例的一個實現方式中,裝置20還包括:定位單元203,用于按照預設時間間隔,確定終端的位置信息。存儲單元204,用于當定位單元203是首次確定終端的位置信息時,建立并存儲位置信息與定位時刻之間的對應關系,定位時刻為確定終端的位置信息的時刻。更新單元205,用于當定位單元203不是首次確定終端的位置信息,則根據位置信息和定位時刻預存儲的位置信息和定位時刻。在本發明實施例的一個實現方式中,更新單元205具體用于:讀取預存儲的位置信息,并根據定位時刻終端的位置信息與讀取的位置信息確定終端的位移;當終端的位移在位移閾值內時,將預存儲的位置信息更新為定位時刻終端的位置信息,并將預存儲的定位時刻更新為定位時刻。在本發明實施例的一個實現方式中,更新單元205,還用于當終端的位移不在位移閾值內時,保持預存儲的位置信息和定位時刻不變。在本發明實施例的一個實現方式中,更新單元205,還用于當獲取單元201在指定時間內獲取到當前位置信息時,根據當前位置信息更新預存儲的位置信息,并根據獲取當前位置信息的時刻更新預存儲的定位時刻。本發明實施例提供的獲取終端位置信息的裝置,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在指定時間內未獲取到終端的位置信息時,將預存儲的位置信息確定的終端為當前位置信息。這樣一來,在終端所處環境比較封閉且網絡信號較差的情況下,本發明能夠通過預存儲的數據直接提供終端的位置信息,以供應用使用。因此,本發明能夠解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題。本發明實施例還提供一種終端30,如圖6所示,該終端30包括:至少一個處理器301、諸如觸摸顯示屏的輸入/輸出設備302。其中,輸入/輸出設備302用于獲取用戶的操作,例如指定時間、預設時間間隔等,以及向用戶呈現操作結果和提示信息,例如用戶更改指定時間后提示用戶修改成功等;處理器301用于執行計算機指令。處理器301可以在啟動應用后,發送獲取當前位置信息的請求,以便于應用根據當前位置信息提供服務;當在指定時間內未獲取到當前位置信息時,將預存儲的位置信息確定為當前位置信息,從而在當終端所處環境比較封閉且網絡信號較差時,應用可以根據預存儲的位置信息提供服務。處理器301還用于按照預設時間間隔,確定終端的位置信息;在首次確定終端的位置信息時,建立并存儲位置信息與定位時刻之間的對應關系;在非首次確定終端的位置信息時,根據位置信息和定位時刻更新預存儲的數據。處理器301根據位置信息和定位時刻更新預存儲的數據的具體處理過程為:讀取預存儲的位置信息,并根據定位時刻終端的位置信息與讀取的位置信息確定終端的位移,當終端的位移在位移閾值內時,將預存儲的位置信息更新為位置信息,并將預存儲的定位時刻更新為定位時刻,從而提高根據預存儲的數據確定當前位置信息的準確性。相對應的,處理器301還可以當終端的位移不在位移閾值內時,保持預存儲的位置信息和定位時刻不變,從而避免更新過程中產生錯誤。進一步的,處理器301還可以在指定時間內獲取到了當前位置信息時,根據當前位置信息更新預存儲的位置信息,并根據獲取當前位置信息的時刻更新預存儲的定位時刻。此外,該終端30還包括通信總線303、存儲器304和收發器305。其中,通信總線303用于實現上述組件之間的連接通信,存儲器304用于存儲計算機指令及需要保存的數據,例如指定時間、預設時間間隔、位置信息和定位時刻等,收發器305用于與其他設備進行通信。本發明實施例提供的終端,相比較于現有技術中的終端所處環境網絡信號較差時無法基于無線通信網絡基站進行定位,以及終端位于室內或者覆蓋終端的衛星少于3顆時,無法基于GPS進行定位,本發明在指定時間內未獲取到終端的位置信息時,將預存儲的位置信息確定為終端的當前位置信息。這樣一來,在終端所處環境比較封閉且網絡信號較差的情況下,本發明能夠通過預存儲的數據直接提供終端的位置信息,以供應用使用。因此,本發明能夠解決當終端所處環境比較封閉且網絡信號較差時,終端獲取位置信息時間較長,或者無法獲取位置信息的問題。本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程,是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(英文:Read-OnlyMemory,ROM)或隨機存儲記憶體(英文:RandomAccessMemory,RAM)等。以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本
技術領域:
的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。當前第1頁1 2 3