本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種定位方法、定位裝置及存儲介質(zhì)。
背景技術(shù):
隨著移動浪潮的興起,極速的業(yè)務(wù)擴展提升了團隊對開發(fā)效率的要求,混合模式移動應(yīng)用(hybirdapplication,hybirdapp)應(yīng)運而生。hybirdapp為介于原生應(yīng)用(nativeapplication,nativeapp)和網(wǎng)頁應(yīng)用(webapplication,webapp)之間的應(yīng)用,兼具了nativeapp良好用戶交互體驗的優(yōu)勢和webapp跨平臺開發(fā)的優(yōu)勢,非常適合于業(yè)務(wù)快速迭代,有利于提升開發(fā)效率。
hybridapp主要是通過在原生應(yīng)用中嵌入web網(wǎng)頁來實現(xiàn),其實質(zhì)是偽造一個瀏覽器的nativeapp,里面運行的是webapp。因此,hybirdapp中除了具有原生頁面,也具有網(wǎng)頁(web)頁面。網(wǎng)頁頁面也即采用網(wǎng)頁語言(例如第五代超文本標記語言,hypertextmarkuplanguage5,html5)編寫的網(wǎng)頁。在hybirdapp中,通常會有較多的網(wǎng)頁頁面在打開時會自動定位當前的位置,例如在一個hybirdapp類型的即時通訊應(yīng)用中,當打開該即時通訊應(yīng)用中的旅游網(wǎng)頁時,該旅游網(wǎng)頁需要定位當前的位置以提供當?shù)氐穆糜涡畔ⅰ,F(xiàn)有的hybirdapp的網(wǎng)頁頁面在進行定位時一般是將定位請求發(fā)送給網(wǎng)絡(luò)服務(wù)器,由網(wǎng)絡(luò)服務(wù)器根據(jù)定位請求獲取相應(yīng)的定位信息并返回給網(wǎng)頁頁面,從而網(wǎng)頁頁面接收網(wǎng)絡(luò)服務(wù)器返回的定位信息,實現(xiàn)定位。
在對現(xiàn)有技術(shù)的研究和實踐過程中,本發(fā)明的發(fā)明人發(fā)現(xiàn),現(xiàn)有hybirdapp中的網(wǎng)頁頁面在定位時需要通過網(wǎng)絡(luò)服務(wù)器獲取定位信息,與網(wǎng)絡(luò)服務(wù)器之間的通信過程、以及網(wǎng)絡(luò)服務(wù)器獲取定位信息的過程都需要消耗較長的時間,并且,若在短時間內(nèi)網(wǎng)頁頁面需要進行多次定位,例如用戶在短時間內(nèi)多次打開一個旅游網(wǎng)頁,則每次打開該旅游網(wǎng)頁時都需要重新執(zhí)行一次上述的定位過程,因此短時間內(nèi)需要執(zhí)行多次上述的定位過程,而在這短時間內(nèi)用戶的當前位置通常不會發(fā)生較大的改變,因此多次的定位過程將增加不必要的耗時,導致定位效率低。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供一種定位方法、定位裝置及存儲介質(zhì),能夠減少定位所需的時間,且能夠減少定位次數(shù),從而提高定位效率。
本發(fā)明實施例提供一種定位方法,包括:
獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求;
根據(jù)所述定位請求從存儲的歷史定位信息中確定第一定位信息,所述第一定位信息為所述歷史定位信息中存儲時間最接近當前時間的歷史定位信息;
在確定所述當前時間與所述第一定位信息的存儲時間的時間差小于預定值后,獲取所述第一定位信息,以作為所述定位請求所請求的當前定位信息。
本發(fā)明實施例還提供一種定位裝置,包括:
獲取模塊,用于獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求;
確定模塊,用于根據(jù)所述定位請求從存儲的歷史定位信息中確定第一定位信息,所述第一定位信息為所述歷史定位信息中存儲時間最接近當前時間的歷史定位信息;
處理模塊,用于在確定所述當前時間與所述第一定位信息的存儲時間的時間差小于預定值后,獲取所述第一定位信息,以作為所述定位請求所請求的當前定位信息。
可選地,所述處理模塊還用于獲取所述頁面的頁面標識信息,并根據(jù)所述頁面標識信息確定所述頁面對應(yīng)的時間長度,以確定預定值。
可選地,所述獲取模塊用于獲取根據(jù)用戶對網(wǎng)頁頁面的操作指令而產(chǎn)生的定位請求。
本發(fā)明實施例還提供一種存儲介質(zhì),其特征在于,所述存儲介質(zhì)用于存儲多條指令,所述指令適于處理器進行加載,以執(zhí)行上述任一項所述的定位方法中的步驟。
本發(fā)明實施例在產(chǎn)生定位請求時,從保存的歷史定位信息中確定存儲時間最接近當前時間的歷史定位信息,以確定第一定位信息,即第一定位信息為最近存儲的歷史定位信息,然后在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,將第一定位信息作為定位請求所請求的當前定位信息,其中當前時間與第一定位信息的存儲時間的時間差小于預定值時,說明用戶可能是在較短的時間內(nèi)再次觸發(fā)定位請求,用戶的當前位置可能并未發(fā)生改變,因此本方案直接將歷史定位信息中的最近存儲的第一定位信息作為定位請求所請求的當前定位信息,從而實現(xiàn)定位,由此不需要向網(wǎng)絡(luò)服務(wù)器請求當前定位信息,從而可以減少定位所需的時間以及定位次數(shù),有利于提高定位效率。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1a是本發(fā)明實施例提供的定位方法的框架圖;
圖1b是本發(fā)明實施例提供的定位方法一流程圖;
圖1c是本發(fā)明實施例提供的定位方法中,緩存模塊中的歷史定位信息的存儲表;
圖1d是本發(fā)明實施例提供的定位方法中,頁面標識信息與時間長度、本地定位系統(tǒng)的對應(yīng)關(guān)系表;
圖2是本發(fā)明實施例提供的定位方法另一流程圖;
圖3a是本發(fā)明實施例提供的定位裝置的一結(jié)構(gòu)示意圖;
圖3b是本發(fā)明實施例提供的定位裝置的另一結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的終端的結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明實施例提供一種定位方法、定位裝置及存儲介質(zhì)。
其中,定位裝置可以作為功能模塊集成在客戶端中,也可以作為一個實體獨立于客戶端,客戶端是指運行于終端等設(shè)備上的應(yīng)用,終端例如可以是平板電腦、個人計算機(personalcomputer,pc)、手機等具備儲存單元并安裝有微處理器而具有運算能力的電子設(shè)備。其中,本發(fā)明實施例所涉及的頁面是指客戶端中的頁面,客戶端例如為混合模式移動應(yīng)用,具體可以是即時通訊應(yīng)用、論壇應(yīng)用或游戲應(yīng)用,等等,本發(fā)明實施例所涉及的頁面既可以是客戶端中的網(wǎng)頁頁面,也可以是客戶端中的原生頁面。網(wǎng)頁頁面例如為第五代超文本標記語言html5編寫的網(wǎng)頁頁面。
以定位裝置作為功能模塊集成在客戶端,且客戶端運行于終端為例,如圖1a所示,定位裝置獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求,該頁面例如為客戶端的網(wǎng)頁頁面,然后根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,歷史定位信息例如可以存儲在緩存模塊中,該第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息,也即最近存儲于緩存模塊中的歷史定位信息,在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,獲取第一定位信息,以作為定位請求所請求的當前定位信息,從而實現(xiàn)定位,由此不需要向網(wǎng)絡(luò)服務(wù)器請求定位信息,也不需要利用定位系統(tǒng)(如gps系統(tǒng))進行定位,從而可以減少定位所需的時間以及定位次數(shù),有利于提高定位效率。
其中,將第一定位信息作為定位請求所請求的當前定位信息后,客戶端可以根據(jù)當前定位信息進行相關(guān)處理,例如在頁面中顯示當前位置,等等。
以下分別進行詳細說明。需說明的是,以下實施例的序號不作為對實施例優(yōu)選順序的限定。
實施例一、
本實施例將從定位裝置的角度進行描述,定位裝置具體可以作為功能模塊集成在客戶端中,客戶端例如為運行于終端等設(shè)備中的應(yīng)用。
如圖1b所示,本實施例的定位方法的具體流程可以如下:
步驟s101:獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求。
其中,定位請求為客戶端根據(jù)用戶對頁面的操作指令而產(chǎn)生,用戶對頁面的操作例如可以包括打開頁面和在頁面中輸入相關(guān)的指令,例如當檢測到用戶打開客戶端的某一頁面時即產(chǎn)生定位請求,又或者可以是根據(jù)用戶點擊頁面中的定位按鈕的點擊操作而產(chǎn)生定位請求。
用戶所操作的頁面可以是客戶端中的網(wǎng)頁頁面,也可以是客戶端的原生頁面。以網(wǎng)頁頁面為例,不同類型的網(wǎng)頁頁面觸發(fā)客戶端產(chǎn)生定位請求的條件不同,例如,對于旅游類型的網(wǎng)頁頁面,通常是檢測到用戶打開該旅游頁面時即自動產(chǎn)生定位請求,對于購物類型的網(wǎng)頁頁面,則可能需要用戶在購物頁面中點擊定位當前位置的按鈕從而觸發(fā)客戶端產(chǎn)生定位請求。
步驟s102:根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息。
其中,可以預先設(shè)置一緩存模塊,該緩存模塊用于保存客戶端的歷史定位信息,歷史定位信息是指在當前時間以前,根據(jù)客戶端在當前時間之前所產(chǎn)生的定位請求而進行定位所獲取的定位信息。其中存儲時間是指歷史定位信息保存至緩存模塊中的時間點,可以根據(jù)實際需要設(shè)置時間精度,例如可以從年精確到秒(s),或者精確到分(min),等等,例如2017年01月01日12:05:06。
緩存模塊中可以是僅保存最近的一條歷史定位信息,也可以是保存客戶端在一段時間內(nèi)產(chǎn)生的多條歷史定位信息,并且記錄每條歷史定位信息的存儲時間。
其中,本實施例的定位信息可以僅包括位置信息,也可以包括位置信息以及位置信息所對應(yīng)的經(jīng)緯度信息,位置信息例如可以是從國籍精確到鄉(xiāng)鎮(zhèn),例如中國**省**市**鎮(zhèn)**鄉(xiāng),或者也可以直接是城市,例如**市,或者從城市精確到區(qū)域/縣,例如**市**區(qū),等等。以記錄客戶端在一段時間內(nèi)產(chǎn)生的多條歷史定位信息為例,如圖1c所示,緩存模塊中的歷史定位信息的記錄形式可以如圖1c所示的記錄形式。
步驟s103:在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,獲取第一定位信息,以作為定位請求所請求的當前定位信息。
具體地,獲取當前時間,以及獲取第一定位信息的存儲時間,然后計算當前時間與第一定位信息的存儲時間的時間差,即計算當前時間和存儲時間之間的時間長度,之后判斷該時間差是否小于預定值,從而可以確定該時間差是否小于預定值。
預定值為一個時間長度,可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為10s(秒)、30s、1h(小時)或者1天等等。其中,對于不同的頁面可以使用同一個預定值進行判斷,也可以使用不同的預定值進行判斷。以使用不同的預定值進行判斷為例,在確定當前時間與第一定位信息的存儲時間的時間差小于預定值之前,還包括:獲取頁面的頁面標識信息,并根據(jù)頁面的頁面標識信息確定頁面對應(yīng)的時間長度,以確定預定值。從而,根據(jù)確定的預定值判斷當前時間與第一定位信息的存儲時間的時間差是否小于預定值。
其中,可以預先設(shè)置頁面所對應(yīng)的時間長度,例如旅游頁面對應(yīng)的時間長度可以設(shè)置為2天,購物頁面對應(yīng)的時間長度可以設(shè)置為2h。如圖1d所示,可以通過將頁面的頁面標識信息和對應(yīng)的時間長度對應(yīng)存儲,以建立頁面和其對應(yīng)的時間長度之間的對應(yīng)關(guān)系,頁面標識信息例如可以是頁面id、頁面名稱和頁面鏈接中的至少一種。從而,在判斷當前時間與第一定位信息的存儲時間的時間差是否小于預定值之前,先根據(jù)頁面的標識信息確定頁面對應(yīng)的時間長度,進而確定預定值。確定預定值后,執(zhí)行判斷當前時間與第一定位信息的存儲時間的時間差是否小于預定值的步驟。
當確定當前時間和第一定位信息的存儲時間的時間差小于預定值后,例如小于10s,說明第一定位信息是在當前時間的前10s內(nèi)存儲在緩存模塊中,也就是說,在當前時間的前10s內(nèi)客戶端發(fā)生過定位事件,而在10s內(nèi)用戶當前的位置通常變化不大,因此直接獲取第一定位信息以作為定位請求所請求的當前定位信息,從而客戶端可以根據(jù)當前定位信息進行相關(guān)操作,例如根據(jù)當前定位信息中的位置信息在頁面中顯示當前位置,如在頁面中顯示當前位置**市**區(qū),或者根據(jù)當前定位信息中的位置信息獲取與當前位置相關(guān)的信息,例如旅游、交通以及美食等信息,然后通過頁面進行顯示或推送這些信息。
本實施例中,當需要進行定位時,若當前時間與歷史定位信息中的第一定位信息的存儲時間的時間差小于預定值,則直接將第一定位信息作為定位請求所請求的當前定位信息,從而實現(xiàn)定位,由此不需要向網(wǎng)絡(luò)服務(wù)器請求定位信息,也不需要重新進行定位,從而可以減少定位所需的時間以及定位次數(shù),有利于提高定效率。
其中,當判斷當前時間和第一定位信息的存儲時間的時間差大于或等于預定值時,說明距離前一次的定位已經(jīng)過去了較長的時間,用戶當前的位置與緩存模塊中存儲的最近的第一定位信息中的位置可能發(fā)生了較大變化,此時,可以輸出定位失敗的結(jié)果,也可以根據(jù)定位請求定位當前位置,例如可以向網(wǎng)路服務(wù)器發(fā)送定位請求以從網(wǎng)絡(luò)服務(wù)器側(cè)獲取當前定位信息,或者也可以利用本地定位系統(tǒng)獲取當前定位信息。以利用本地定位系統(tǒng)進行獲取為例,具體地,當確定當前時間與第一定位信息的存儲時間的時間差大于或等于預定值之后,還包括:調(diào)用定位線程,并根據(jù)定位線程利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息。
定位線程為客戶端用于實現(xiàn)定位功能的線程,定位線程中具有調(diào)用本地定位系統(tǒng)的接口??蛻舳藶檫\行于終端上的混合模式移動應(yīng)用,可以直接調(diào)用本地定位系統(tǒng)進行定位,本地定位系統(tǒng)是指運行客戶端的終端的定位系統(tǒng),即利用終端上的硬件設(shè)備實現(xiàn)定位的系統(tǒng),例如包括衛(wèi)星定位系統(tǒng)、移動網(wǎng)絡(luò)基站定位系統(tǒng)以及無線網(wǎng)絡(luò)wifi定位系統(tǒng)。
其中,衛(wèi)星定位系統(tǒng)主要是基于終端內(nèi)的全球定位系統(tǒng)(globalpositioningsystem,gps)信號接收模塊實現(xiàn)定位,其通過終端內(nèi)的gps信號接收模塊接收衛(wèi)星信號并加以分析,從而可以獲取定位信息。
移動網(wǎng)絡(luò)基站主要是基于終端內(nèi)的sim卡實現(xiàn)定位,其通過sim卡接收多個基站的信號,根據(jù)信號的強弱可以大致估計基站的距離,當確定基站位置后,可以根據(jù)基站位置獲取定位信息。
無線網(wǎng)絡(luò)wifi定位系統(tǒng)主要是基于終端內(nèi)的無線wifi信號接收模塊實現(xiàn)定位,其通過無線wifi信號接收模塊掃描并采集周圍的無線信號,然后從采集到的無線信號中獲取發(fā)射該無線信號的設(shè)備的mac(mediaaccesscontrol,網(wǎng)絡(luò)設(shè)備)地址信息,然后將這些地址信息發(fā)送給位置服務(wù)器,從而位置服務(wù)器根據(jù)這些地址信息獲取定位信息并返回給終端。
可以理解的是,利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的過程,即為啟動本地定位系統(tǒng)進行定位以定位當前位置的過程。
每種本地定位系統(tǒng)的定位精度不同,定位精度是指定位系統(tǒng)獲取的定位信息與實際位置之間的接近程度,其中衛(wèi)星定位系統(tǒng)的定位精度可達10米以內(nèi),即獲取的定位信息與實際位置相差了10米左右,移動網(wǎng)絡(luò)基站定位系統(tǒng)的定位精度為100米左右,無線網(wǎng)絡(luò)wifi定位系統(tǒng)的定位精度在幾十米左右。
其中,預定的本地定位系統(tǒng)可以是衛(wèi)星定位系統(tǒng)、移動網(wǎng)絡(luò)基站定位系統(tǒng)以及無線網(wǎng)絡(luò)wifi定位系統(tǒng)中的其中一種,具體可以根據(jù)需要進行選擇,例如可以根據(jù)信號強度、定位精度、終端當前的電量或者終端所使用的供電電源進行選擇,例如若當前的衛(wèi)星信號較強則可以選擇衛(wèi)星定位系統(tǒng)進行定位。
其中,不同的頁面可以使用同一種本地定位系統(tǒng)進行定位,或者也可以使用不同的本地定位系統(tǒng)進行定位,以后者為例,例如,在調(diào)用定位線程之前,還包括:獲取頁面的頁面標識信息,并根據(jù)頁面的標識信息確定頁面對應(yīng)的本地定位系統(tǒng),以確定預定的本地定位系統(tǒng)。
具體地,可以預先設(shè)置頁面所對應(yīng)的本地定位系統(tǒng),當設(shè)置頁面對應(yīng)一本地定位系統(tǒng)后,則后續(xù)當用戶對該頁面進行相關(guān)操作而觸發(fā)客戶端產(chǎn)生定位請求時,若需要利用本地定位系統(tǒng)獲取定位請求所請求的當前定位信息時,則利用頁面所對應(yīng)的本地定位系統(tǒng)進行獲取。其中,預先設(shè)置頁面所對應(yīng)的本地定位系統(tǒng),具體可以是建立頁面和其對應(yīng)的本地定位系統(tǒng)之間的對應(yīng)關(guān)系,例如,如圖1d所示,將頁面的頁面標識信息和對應(yīng)的本地定位系統(tǒng)對應(yīng)存儲,從而建立兩者之間的對應(yīng)關(guān)系,因此,通過獲取頁面的頁面標識信息,從而可以根據(jù)該對應(yīng)關(guān)系確定頁面對應(yīng)的本地定位系統(tǒng),以確定預定的本地定位系統(tǒng)。
其中,可以根據(jù)不同頁面所需的定位精度設(shè)置對應(yīng)的本地定位系統(tǒng),例如旅游頁面可能需要更精確的地理位置,因此旅游頁面對應(yīng)的本地定位系統(tǒng)可以設(shè)置為衛(wèi)星定位系統(tǒng),也就是說,當用戶對旅游頁面進行相關(guān)的操作以觸發(fā)客戶端產(chǎn)生定位請求時,若需要利用本地定位系統(tǒng)獲取定位請求所請求的定位信息,則利用旅游頁面對應(yīng)的衛(wèi)星定位系統(tǒng)進行獲取。又如,對于購物頁面等對定位精度要求不高的頁面,可以設(shè)置對應(yīng)的本地定位系統(tǒng)為移動網(wǎng)絡(luò)基站定位系統(tǒng)。
通過上述方式,不同的頁面可以使用更合適的本地定位系統(tǒng)來獲取相關(guān)的定位信息,可以提高定位性能,例如對于對定位精度要求不高的頁面,其定位請求若采用移動網(wǎng)絡(luò)基站定位系統(tǒng)進行處理,則能夠滿足定位精度的同時,可以快速獲取相應(yīng)的定位信息,且可以減少終端的耗電量。
其中,當根據(jù)定位線程利用預定的本地定位系統(tǒng)獲取到定位請求所請求的當前定位信息之后,將獲取到的當前定位信息進行存儲,以更新歷史定位信息中的第一定位信息,并記錄存儲的時間。
可選地,當根據(jù)定位線程利用預定的本地定位系統(tǒng)未能獲取到定位請求所請求的當前定位信息之后,還包括:判斷利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的次數(shù)是否超過預定次數(shù);若超過預定次數(shù),則從歷史定位信息中獲取第三定位信息,以作為定位請求所請求的當前定位信息,其中第三定位信息為歷史定位信息中利用預定的本地定位系統(tǒng)獲取的、且存儲時間最接近當前時間的歷史定位信息;若沒有超過預定次數(shù),則返回執(zhí)行利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的步驟,直至獲取定位請求所請求的當前定位信息。
其中,當利用預定的本地定位系統(tǒng)未能獲取到當前定位信息,則循環(huán)執(zhí)行利用預定的本地定位系統(tǒng)獲取當前定位信息的步驟,循環(huán)次數(shù)不超過預定次數(shù),直至獲取定位請求所請求的當前定位信息。預定次數(shù)可以根據(jù)實際需要進行設(shè)置,例如可以設(shè)置為3次、5次或8次等等。
當循環(huán)次數(shù)超過了預定次數(shù),則停止執(zhí)行利用預定的本地定位系統(tǒng)獲取當前定位信息的步驟,并且從歷史定位信息中獲取第三定位信息,以作為定位請求所請求的當前定位信息。其中,第三定位信息的選取條件是:為利用預定的本地定位系統(tǒng)(也即頁面所對應(yīng)的本地定位系統(tǒng))獲取的、且存儲施加最接近當前時間的歷史定位信息,即第三定位信息的定位精度與頁面所需的定位精度最接近,且是在相同定位精度的所有歷史定位信息中最近存儲的歷史定位信息。
或者,在其他實施方式中,當循環(huán)次數(shù)超過預定次數(shù)時,可以直接選取歷史定位信息中存儲時間最接近當前時間的歷史定位信息,以作為定位請求所請求的當前定位信息,也即將第一定位信息作為定位請求所請求的對當前定位信息。
其中,在調(diào)用定位線程,并根據(jù)定位線程利用本地定位系統(tǒng)獲取定位請求所請求的定位信息的過程中,若客戶端產(chǎn)生其他的新的定位請求,例如用戶又打開了另一個頁面,此時若需要利用本地定位系統(tǒng)獲取該新的定位請求所請求的當前定位信息,則調(diào)用另一個新的定位線程,以根據(jù)該新的定位線程利用本地定位系統(tǒng)獲取該新的定位請求所請求的的當前定位信息,由此可以實現(xiàn)多任務(wù)定位,多個定位線程單獨進行定位,互不干擾。
本實施例中,當當前時間與所述第一定位信息的存儲時間的時間差大于或等于預定值時,利用本地定位系統(tǒng)獲取當前定位信息,即利用本地定位系統(tǒng)進行定位,相比于現(xiàn)有請求網(wǎng)絡(luò)服務(wù)器進行定位的方式而言,可以更快獲取到定位信息,從而減少定位時間。
實施例二、
根據(jù)實施例一所描述的方法,以下將舉例作進一步詳細說明。
如圖2所示,本實施例的定位方法的具體流程可以如下:
步驟s201:獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求。
其中,定位請求為客戶端根據(jù)用戶對頁面的操作指令而產(chǎn)生,用戶對頁面的操作例如可以包括打開頁面和在頁面中輸入相關(guān)的指令。用戶所操作的頁面可以是客戶端中的網(wǎng)頁頁面,也可以是客戶端的原生頁面。以網(wǎng)頁頁面為例,不同類型的網(wǎng)頁頁面觸發(fā)客戶端產(chǎn)生定位請求的條件不同,例如,對于旅游類型的網(wǎng)頁頁面,通常是檢測到用戶打開該旅游頁面時即自動產(chǎn)生定位請求,對于購物類型的網(wǎng)頁頁面,則可能需要用戶在購物頁面中點擊定位當前位置的按鈕從而觸發(fā)客戶端產(chǎn)生定位請求。
步驟s202:根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息。
步驟s203:在確定當前時間與所述第一定位信息的存儲時間的時間差小于預定值之后,根據(jù)定位請求調(diào)用本地定位系統(tǒng),以獲取第二定位信息,以及獲取第一定位信息,以作為定位請求所請求的當前定位信息。
其中,確定第一定位信息后,獲取當前時間,以及獲取第一定位信息的存儲時間,然后計算當前時間與第一定位信息的存儲時間的時間差,即計算當前時間和存儲時間之間的時間長度,之后判斷該時間差是否小于預定值,從而可以確定該時間差是否小于預定值。
其中,本地定位系統(tǒng)可以根據(jù)實際需要進行選擇,例如可以是衛(wèi)星定位系統(tǒng)、移動網(wǎng)絡(luò)基站定位系統(tǒng)以及無線網(wǎng)絡(luò)wifi定位系統(tǒng)中的一種??蛇x地,在調(diào)用本地定位系統(tǒng)之前,獲取頁面的頁面標識信息,并根據(jù)頁面標識信息確定頁面對應(yīng)的本地定位系統(tǒng),其中,調(diào)用本地定位系統(tǒng)具體包括調(diào)用頁面對應(yīng)的本地定位系統(tǒng),以獲取第二定位信息。
第二定位信息即是啟動本地定位系統(tǒng)后,本地定位系統(tǒng)進行定位而獲取到的定位信息。
步驟s204:判斷第一定位信息和第二定位信息是否相同。
例如,可以通過判斷第一定位信息和第二定位信息中的經(jīng)緯度信息是否相同,若相同,則判斷第一定位信息和第二定位信息相同,否則判斷為不相同?;蛘?,也可以通過第一定位信息和第二定位信息中的位置信息是否相同,若相同,則判斷第一定位信息和第二定位信息相同,否則判斷為不相同。
步驟s205:若相同,則將第一定位信息繼續(xù)作為當前定位信息,若不相同,則將當前定位信息更新為第二定位信息。
當?shù)谝欢ㄎ恍畔⒑偷诙ㄎ恍畔⑾嗤?,說明歷史定位信息中的第一定位信息與當前定位到的定位信息是相同的,能夠反應(yīng)出當前的位置,因此將第一定位信息繼續(xù)作為當前定位信息。當?shù)谝欢ㄎ恍畔⒑偷诙ㄎ恍畔⒉幌嗤?,說明第一定位信息與當前定位到的定位信息不相同,無法正確反應(yīng)出當前的位置,此時當前定位信息更新為第二定位信息,即不再使用第一定位信息作為當前定位信息,而是使用當前定位到的第二定位信息作為當前定位信息,從而提高定位的準確性。
步驟s206:當判斷第一定位信息和第二定位信息不相同之后,存儲第二定位信息以更新歷史定位信息中的第一定位信息,并記錄存儲的時間。
當?shù)谝欢ㄎ恍畔⒑偷诙ㄎ恍畔⒉幌嗤瑢⒌诙ㄎ恍畔⒋鎯χ辆彺婺K中,并記錄存儲時間,從而歷史定位信息最近存儲的歷史定位信息更新為該第二定位信息。
本實施例中,當在確定當前時間與所述第一定位信息的存儲時間的時間差小于預定值之后,先將第一定位信息作為當前定位信息以提供給客戶端,從而客戶端可以根據(jù)當前定位信息先進行相關(guān)操作,例如在頁面顯示當前位置。同時,調(diào)用本地定位系統(tǒng)進行定位,以定位當前的位置,通過將定位得到的第二定位信息與第一定位信息進行判斷,以驗證第一定位信息是否準確,當?shù)诙ㄎ恍畔⑴c第一定位信息不同時,說明第一定位信息不準確,此時將當前定位信息更新為第二定位信息,能夠提高定位的準確性,當?shù)诙ㄎ恍畔⑴c第一定位信息相同時,無需更新當前定位信息,而客戶端也不需要等待本地定位系統(tǒng)定位后才能根據(jù)當前定位信息進行相關(guān)操作,可以提高運行效率。
實施例三、
為了更好地實施上述方法,本發(fā)明實施例還提供一種定位裝置,該定位裝置具體可以作為功能模塊集成在客戶端中,客戶端例如為運行于終端等設(shè)備中的應(yīng)用。
如圖3a所示,本實施例的定位裝置包括獲取模塊301、確定模塊302以及處理模塊303。
其中,獲取模塊301用于獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求。
定位請求為客戶端根據(jù)用戶對頁面的操作指令而產(chǎn)生,用戶對頁面的操作例如可以包括打開頁面和在頁面中輸入相關(guān)的指令,用戶所操作的頁面可以是客戶端中的網(wǎng)頁頁面,也可以是客戶端的原生頁面。當頁面為網(wǎng)頁頁面時,第一獲取模塊301具體用于獲取根據(jù)用戶對網(wǎng)頁頁面的操作指令而產(chǎn)生的定位請求。
確定模塊302用于根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息。
其中,可以預先設(shè)置一緩存模塊,該緩存模塊用于保存客戶端的歷史定位信息。緩存模塊中可以是僅保存最近的一條歷史定位信息,也可以是保存客戶端在一段時間內(nèi)產(chǎn)生的多條歷史定位信息,并且記錄每條歷史定位信息的存儲時間。以記錄客戶端在一段時間內(nèi)產(chǎn)生的多條歷史定位信息為例,如圖1c所示,緩存模塊中的歷史定位信息的記錄形式可以如圖1c所示的記錄形式。
處理模塊303用于在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,獲取第一定位信息,以作為定位請求所請求的當前定位信息。
具體地,處理模塊303可以獲取當前時間以及獲取第一定位信息的存儲時間,然后計算當前時間與第一定位信息的存儲時間的時間差,之后判斷該時間差是否小于預定值,從而可以確定該時間差是否小于預定值。
預定值為一個時間長度,可以根據(jù)需要進行設(shè)置,例如可以設(shè)置為10s(秒)、30s、1h(小時)或者1天等等。其中,不同的頁面可以使用不同的預定值進行判斷。處理模塊303進一步還用于獲取頁面的頁面標識信息,并根據(jù)頁面的頁面標識信息確定頁面對應(yīng)的時間長度,以確定預定值。從而,根據(jù)確定的預定值判斷當前時間與第一定位信息的存儲時間的時間差是否小于預定值。
其中,可以預先設(shè)置頁面所對應(yīng)的時間長度,例如,如圖1d所示,可以通過將頁面的頁面標識信息和對應(yīng)的時間長度對應(yīng)存儲,以建立頁面和其對應(yīng)的時間長度之間的對應(yīng)關(guān)系,頁面標識信息例如可以是頁面id、頁面名稱和頁面鏈接中的至少一種。
當確定當前時間和第一定位信息的存儲時間的時間差小于預定值后,例如小于10s,說明第一定位信息是在當前時間的前10s內(nèi)存儲在緩存模塊中,也就是說,在當前時間的前10s內(nèi)客戶端發(fā)生過定位事件,而在10s內(nèi)用戶當前的位置通常變化不大,因此直接獲取第一定位信息以作為定位請求所請求的當前定位信息,從而客戶端可以根據(jù)當前定位信息進行相關(guān)操作。
本實施例中,當需要進行定位時,若前時間與歷史定位信息中的第一定位信息的存儲時間的時間差小于預定值,則直接將第一定位信息作為定位請求所請求的當前定位信息,從而實現(xiàn)定位,由此不需要向網(wǎng)絡(luò)服務(wù)器請求定位信息,也不需要重新進行定位,從而可以減少定位所需的時間以及定位次數(shù),有利于提高定效率。
如圖3b所示,可選地,定位裝置進一步還可以包括第一判斷模塊304、存儲模塊305以及第二判斷模塊306。
其中,處理模塊303還用于在確定當前時間與第一定位信息的存儲時間的時間差小于預定值之后,根據(jù)定位請求調(diào)用本地定位系統(tǒng),以獲取第二定位信息。
本地定位系統(tǒng)可以根據(jù)實際需要進行選擇,例如可以是衛(wèi)星定位系統(tǒng)、移動網(wǎng)絡(luò)基站定位系統(tǒng)以及無線網(wǎng)絡(luò)wifi定位系統(tǒng)中的一種。
第一判斷模塊304用于在處理模塊303獲取第一定位信息,以作為定位請求所請求的當前定位信息之后,判斷第一定位信息和第二定位信息是否相同。
例如,可以通過判斷第一定位信息和第二定位信息中的經(jīng)緯度信息是否相同,若相同,則判斷第一定位信息和第二定位信息相同,否則判斷為不相同。
處理模塊303還用于當?shù)谝慌袛嗄K304判斷為不相同時,將第一定位信息繼續(xù)作為當前定位信息,當?shù)谝慌袛嗄K304判斷為不相同時,將當前定位信息更新為第二定位信息。
當?shù)谝欢ㄎ恍畔⒑偷诙ㄎ恍畔⑾嗤f明歷史定位信息中的第一定位信息與當前定位到的定位信息是相同的,能夠反應(yīng)出當前的位置,因此將第一定位信息繼續(xù)作為當前定位信息。當?shù)谝欢ㄎ恍畔⒑偷诙ㄎ恍畔⒉幌嗤f明第一定位信息與當前定位到的定位信息不相同,無法正確反應(yīng)出當前的位置,此時當前定位信息更新為第二定位信息,即不再使用第一定位信息作為當前定位信息,而是使用當前定位到的第二定位信息作為當前定位信息,從而提高定位的準確性。
其中,存儲模塊305用于當?shù)谝慌袛嗄K304判斷為不相同之后,存儲第二定位信息以更新歷史定位信息中的第一定位信息,并記錄存儲的時間。
進一步地,處理模塊303還用于在確定當前時間和第一定位信息的存儲時間的時間差大于或等于預定值之后,調(diào)用定位線程,并根據(jù)定位線程利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息。
定位線程為客戶端用于實現(xiàn)定位功能的線程,定位線程中具有調(diào)用本地定位系統(tǒng)的接口。本地定位系統(tǒng)是指運行客戶端的終端的定位系統(tǒng),即利用終端上的硬件設(shè)備實現(xiàn)定位的系統(tǒng),例如包括衛(wèi)星定位系統(tǒng)、移動網(wǎng)絡(luò)基站定位系統(tǒng)以及無線網(wǎng)絡(luò)wifi定位系統(tǒng)。
可以理解的是,利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的過程,即為啟動本地定位系統(tǒng)進行定位以定位當前位置的過程。
其中,不同的頁面可以使用同一種本地定位系統(tǒng)進行定位,或者也可以使用不同的本地定位系統(tǒng)進行定位,以后者為例,處理模塊303還用于在調(diào)用定位線程之前,獲取頁面的頁面標識信息,并根據(jù)頁面的標識信息確定頁面對應(yīng)的本地定位系統(tǒng),以確定預定的本地定位系統(tǒng)。
其中可以預先設(shè)置頁面所對應(yīng)的本地定位系統(tǒng),例如,如圖1d所示,將頁面的頁面標識信息和對應(yīng)的本地定位系統(tǒng)對應(yīng)存儲,從而建立兩者之間的對應(yīng)關(guān)系,因此,通過獲取頁面的頁面標識信息,從而可以根據(jù)該對應(yīng)關(guān)系確定頁面對應(yīng)的本地定位系統(tǒng),以確定預定的本地定位系統(tǒng)。
通過上述方式,不同的頁面可以使用更合適的本地定位系統(tǒng)來獲取相關(guān)的定位信息,可以提高定位性能。
其中,第二判斷模塊306用于當處理模塊303根據(jù)定位線程利用預定的本地定位系統(tǒng)未能獲取到定位請求所請求的當前定位信息之后,判斷利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的次數(shù)是否超過預定次數(shù)。
處理模塊303進一步還用于當?shù)诙袛嗄K306判斷超過預定次數(shù)時,從歷史定位信息中獲取第三定位信息,以作為定位請求所請求的當前定位信息,其中第三定位信息為歷史定位信息中利用預定的本地定位系統(tǒng)獲取的、且存儲時間最接近當前時間的歷史定位信息;當?shù)诙袛嗄K306判斷沒有超過預定次數(shù)時,返回執(zhí)行利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的步驟,直至獲取定位請求所請求的當前定位信息。
其中,在調(diào)用定位線程,并根據(jù)定位線程利用本地定位系統(tǒng)獲取定位請求所請求的定位信息的過程中,若客戶端產(chǎn)生其他的新的定位請求,例如用戶又打開了另一個頁面,此時若需要利用本地定位系統(tǒng)獲取該新的定位請求所請求的當前定位信息,則調(diào)用另一個新的定位線程,以根據(jù)該新的定位線程利用本地定位系統(tǒng)獲取該新的定位請求所請求的的當前定位信息,由此可以實現(xiàn)多任務(wù)定位,多個定位線程單獨進行定位,互不干擾。
本發(fā)明實施方式中,當當前時間與所述第一定位信息的存儲時間的時間差大于或等于預定值時,利用本地定位系統(tǒng)獲取當前定位信息,即利用本地定位系統(tǒng)進行定位,相比于現(xiàn)有請求網(wǎng)絡(luò)服務(wù)器進行定位的方式而言,可以更快獲取到定位信息,從而減少定位時間。
實施例四、
相應(yīng)的,本發(fā)明實施例還提供一種終端,如圖4所示,該終端可以包括射頻(rf,radiofrequency)電路401、包括有一個或一個以上計算機可讀存儲介質(zhì)的存儲器402、輸入單元403、顯示單元404、傳感器405、音頻電路406、無線保真(wifi,wirelessfidelity)模塊407、包括有一個或者一個以上處理核心的處理器408、以及電源409等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的終端結(jié)構(gòu)并不構(gòu)成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
rf電路401可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器408處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,rf電路401包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(sim,subscriberidentitymodule)卡、收發(fā)信機、耦合器、低噪聲放大器(lna,lownoiseamplifier)、雙工器等。此外,rf電路401還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通信標準或協(xié)議,包括但不限于全球移動通訊系統(tǒng)(gsm,globalsystemofmobilecommunication)、通用分組無線服務(wù)(gprs,generalpacketradioservice)、碼分多址(cdma,codedivisionmultipleaccess)、寬帶碼分多址(wcdma,widebandcodedivisionmultipleaccess)、長期演進(lte,longtermevolution)、電子郵件、短消息服務(wù)(sms,shortmessagingservice)等。
存儲器402可用于存儲軟件程序以及模塊,處理器408通過運行存儲在存儲器402的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器402可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器402可以包括高速隨機存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應(yīng)地,存儲器402還可以包括存儲器控制器,以提供處理器408和輸入單元403對存儲器402的訪問。
輸入單元403可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標、操作桿、光學或者軌跡球信號輸入。具體地,在一個具體的實施例中,輸入單元403可包括觸敏表面以及其他輸入設(shè)備。觸敏表面,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面上或在觸敏表面附近的操作),并根據(jù)預先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸敏表面可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標,再送給處理器408,并能接收處理器408發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面。除了觸敏表面,輸入單元403還可以包括其他輸入設(shè)備。具體地,其他輸入設(shè)備可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標、操作桿等中的一種或多種。
顯示單元404可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標、視頻和其任意組合來構(gòu)成。顯示單元404可包括顯示面板,可選的,可以采用液晶顯示器(lcd,liquidcrystaldisplay)、有機發(fā)光二極管(oled,organiclight-emittingdiode)等形式來配置顯示面板。進一步的,觸敏表面可覆蓋顯示面板,當觸敏表面檢測到在其上或附近的觸摸操作后,傳送給處理器408以確定觸摸事件的類型,隨后處理器408根據(jù)觸摸事件的類型在顯示面板上提供相應(yīng)的視覺輸出。雖然在圖4中,觸敏表面與顯示面板是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面與顯示面板集成而實現(xiàn)輸入和輸出功能。
終端還可包括至少一種傳感器405,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板的亮度,接近傳感器可在終端移動到耳邊時,關(guān)閉顯示面板和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準)、振動識別相關(guān)功能(比如計步器、敲擊)等;至于終端還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
音頻電路406、揚聲器,傳聲器可提供用戶與終端之間的音頻接口。音頻電路406可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器,由揚聲器轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路406接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器408處理后,經(jīng)rf電路401以發(fā)送給比如另一終端,或者將音頻數(shù)據(jù)輸出至存儲器402以便進一步處理。音頻電路406還可能包括耳塞插孔,以提供外設(shè)耳機與終端的通信。
wifi屬于短距離無線傳輸技術(shù),終端通過wifi模塊407可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖4示出了wifi模塊407,但是可以理解的是,其并不屬于終端的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
處理器408是終端的控制中心,利用各種接口和線路連接整個手機的各個部分,通過運行或執(zhí)行存儲在存儲器402內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器402內(nèi)的數(shù)據(jù),執(zhí)行終端的各種功能和處理數(shù)據(jù),從而對手機進行整體監(jiān)控??蛇x的,處理器408可包括一個或多個處理核心;優(yōu)選的,處理器408可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器408中。
終端還包括給各個部件供電的電源409(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器408邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源409還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
盡管未示出,終端還可以包括攝像頭、藍牙模塊等,在此不再贅述。具體在本實施例中,終端中的處理器408會按照如下的指令,將一個或一個以上的應(yīng)用程序的進程對應(yīng)的可執(zhí)行文件加載到存儲器402中,并由處理器408來運行存儲在存儲器402中的應(yīng)用程序,從而實現(xiàn)各種功能:
獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求,根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息,從而在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,獲取第一定位信息,以作為定位請求所請求的當前定位信息。
其中,獲取第一定位信息,以作為定位請求所請求的當前定位信息之后,可以調(diào)用本地定位系統(tǒng)進行定位以獲取第二定位信息,然后判斷第一定位信息和第二定位信息是否相同,若不相同,則將當前定位信息更新為第二定位信息,由此可以提高定位的準確性。
其中,當確定當前時間與第一定位信息的存儲時間的時間差大于或等于預定值時,可以調(diào)用定位線程,并根據(jù)定位線程利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息。
其中,當根據(jù)定位線程利用預定的本地定位系統(tǒng)未能獲取定位請求所請求的當前定位信息之后,循環(huán)執(zhí)行利用預定的本地定位系統(tǒng)未能獲取定位請求所請求的當前定位信息,例如,判斷利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的次數(shù)是否超過預定次數(shù),若是,則從歷史定位信息中獲取第三定位信息,以作為定位請求所請求的當前定位信息;若否,則返回執(zhí)行利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的步驟,直至獲取定位請求所請求的當前定位信息。
以上各個操作的具體實施可參見前面的實施例,在此不再贅述。
本發(fā)明實施例中,在產(chǎn)生定位請求時,從保存的歷史定位信息中確定存儲時間最接近當前時間的歷史定位信息,以確定第一定位信息,即第一定位信息為最近存儲的歷史定位信息,然后在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,將第一定位信息作為定位請求所請求的當前定位信息,其中當前時間與第一定位信息的存儲時間的時間差小于預定值時,說明用戶可能是在較短的時間內(nèi)再次觸發(fā)定位請求,用戶的當前位置可能并未發(fā)生改變,因此本方案直接將歷史定位信息中的最近存儲的第一定位信息作為定位請求所請求的當前定位信息,從而實現(xiàn)定位,由此不需要向網(wǎng)絡(luò)服務(wù)器請求當前定位信息,也不需要利用定位系統(tǒng)(如gps系統(tǒng))進行定位,從而可以減少定位所需的時間以及定位次數(shù),有利于提高定位效率。
本領(lǐng)域普通技術(shù)人員可以理解,上述實施例的各種方法中的全部或部分步驟可以通過指令來完成,或通過指令控制相關(guān)的硬件來完成,該指令可以存儲于一計算機可讀存儲介質(zhì)中,并由處理器進行加載和執(zhí)行。
為此,本發(fā)明實施例還提供一種存儲介質(zhì),其中存儲有多條指令,該指令能夠被處理器進行加載,以執(zhí)行本發(fā)明實施例所提供的任一種定位方法中的步驟。例如,該指令可以如下步驟:
獲取根據(jù)用戶對頁面的操作指令而產(chǎn)生的定位請求,根據(jù)定位請求從存儲的歷史定位信息中確定第一定位信息,第一定位信息為歷史定位信息中存儲時間最接近當前時間的歷史定位信息,從而在確定當前時間與第一定位信息的存儲時間的時間差小于預定值后,獲取第一定位信息,以作為定位請求所請求的當前定位信息。
其中,獲取第一定位信息,以作為定位請求所請求的當前定位信息之后,可以調(diào)用本地定位系統(tǒng)進行定位以獲取第二定位信息,然后判斷第一定位信息和第二定位信息是否相同,若不相同,則將當前定位信息更新為第二定位信息,由此可以提高定位的準確性。
其中,當確定當前時間與第一定位信息的存儲時間的時間差大于或等于預定值時,可以調(diào)用定位線程,并根據(jù)定位線程利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息。
其中,當根據(jù)定位線程利用預定的本地定位系統(tǒng)未能獲取定位請求所請求的當前定位信息之后,循環(huán)執(zhí)行利用預定的本地定位系統(tǒng)未能獲取定位請求所請求的當前定位信息,例如,判斷利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的次數(shù)是否超過預定次數(shù),若是,則從歷史定位信息中獲取第三定位信息,以作為定位請求所請求的當前定位信息;若否,則返回執(zhí)行利用預定的本地定位系統(tǒng)獲取定位請求所請求的當前定位信息的步驟,直至獲取定位請求所請求的當前定位信息。
以上各個操作的具體實施可參見前面的實施例,在此不再贅述。
其中,該存儲介質(zhì)可以包括:只讀存儲器(rom,readonlymemory)、隨機存取記憶體(ram,randomaccessmemory)、磁盤或光盤等。
由于該存儲介質(zhì)中所存儲的指令,可以執(zhí)行本發(fā)明實施例所提供的任一種定位方法中的步驟,因此,可以實現(xiàn)本發(fā)明實施例所提供的任一種定位方法所能實現(xiàn)的有益效果,詳見前面的實施例,在此不再贅述。
以上對本發(fā)明實施例所提供的一種定位方法、定位裝置及存儲介質(zhì)進行了詳細介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。