第十二章基于googlemap開(kāi)發(fā)個(gè)人移動(dòng)地圖_第1頁(yè)
第十二章基于googlemap開(kāi)發(fā)個(gè)人移動(dòng)地圖_第2頁(yè)
第十二章基于googlemap開(kāi)發(fā)個(gè)人移動(dòng)地圖_第3頁(yè)
第十二章基于googlemap開(kāi)發(fā)個(gè)人移動(dòng)地圖_第4頁(yè)
第十二章基于googlemap開(kāi)發(fā)個(gè)人移動(dòng)地圖_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于基于google map google map 開(kāi)發(fā)個(gè)人開(kāi)發(fā)個(gè)人移動(dòng)地圖移動(dòng)地圖江蘇潤(rùn)和軟件股份有限公司課程目標(biāo)課程目標(biāo)q 1.完成google map的開(kāi)發(fā)q 2.完成文章管理器課程目標(biāo)課程目標(biāo)q 1.完成google map的開(kāi)發(fā)q 2.完成文章管理器本章目標(biāo)本章目標(biāo)q 1.了解位置服務(wù)的概念q 2.了解地圖密鑰的申請(qǐng)方式q 3. 掌握獲取位置信息的方法q 4. 掌握mapview和mapcontroller的使用方法q 5. 掌google地圖覆蓋層的使用方法1 1、位置服務(wù)、位置服務(wù)1.1介紹介紹q 位置服務(wù) 位置服務(wù)(location-based services,lbs),又稱

2、定位服務(wù)或基于位置的服務(wù),融合了gps定位、移動(dòng)通信、導(dǎo)航等多種技術(shù),提供了與空間位置相關(guān)的綜合應(yīng)用服務(wù) 位置服務(wù)首先在日本得到商業(yè)化的應(yīng)用 2001年7月,docomo發(fā)布了第一款具有三角定位功能的手持設(shè)備 2001年12月,kddi發(fā)布第一款具有g(shù)ps功能的手機(jī) 基于位置的服務(wù)發(fā)展迅速,已涉及到商務(wù)、醫(yī)療、工作和生活的各個(gè)方面,為用戶提供定位、追蹤和敏感區(qū)域警告等一系列服務(wù) 提供位置服務(wù),首先需要獲得locationmanager對(duì)象1.1位置服務(wù)位置服務(wù) 獲取locationmanager可以通過(guò)調(diào)用android.app.activity.getsystemservice()函數(shù)實(shí)現(xiàn)

3、android.app.activity.getsystemservice()函數(shù)代碼如下代碼第代碼第1行的行的context.location_service指明獲取的指明獲取的服務(wù)是位置服務(wù)服務(wù)是位置服務(wù)代碼第代碼第2行的行的getsystemservice()函數(shù),可以根據(jù)服務(wù)名稱函數(shù),可以根據(jù)服務(wù)名稱獲取獲取android提供的系統(tǒng)級(jí)服務(wù)提供的系統(tǒng)級(jí)服務(wù)1.1位置服務(wù)位置服務(wù)qandroid支持的系統(tǒng)級(jí)服務(wù)表contextcontext類的靜態(tài)常量類的靜態(tài)常量值值返回對(duì)象返回對(duì)象說(shuō)明說(shuō)明location_servicelocationlocationmanager控制位置等設(shè)備的更新w

4、indow_servicewindowwindowmanager最頂層的窗口管理器layout_inflater_servicelayout_inflaterlayoutinflater將xml資源實(shí)例化為viewpower_servicepowerpowermanager電源管理alarm_servicealarmalarmmanager在指定時(shí)間接受intentnotification_servicenotificationnotificationmanager 后臺(tái)事件通知keyguard_servicekeyguardkeyguardmanager鎖定或解鎖鍵盤search_servi

5、cesearchsearchmanager訪問(wèn)系統(tǒng)的搜索服務(wù)vibrator_servicevibratorvibrator 訪問(wèn)支持振動(dòng)的硬件connectivity_serviceconnectionconnectivitymanager 網(wǎng)絡(luò)連接管理wifi_servicewifiwifimanager wi-fi連接管理input_method_serviceinput_methodinputmethodmanager 輸入法管理1.1位置服務(wù)位置服務(wù)q在獲取到locationmanager后,還需要指定locationmanager的定位方法,然后才能夠調(diào)用locationmanag

6、er getlastknowlocation()方法獲取當(dāng)前位置 locationmanager支持的定位方法有兩種gps定位:可以提供更加精確的位置信息,但定位速度和定位:可以提供更加精確的位置信息,但定位速度和質(zhì)量受到衛(wèi)星數(shù)量和環(huán)境情況的影響質(zhì)量受到衛(wèi)星數(shù)量和環(huán)境情況的影響網(wǎng)絡(luò)定位:提供的位置信息精度差,但速度較網(wǎng)絡(luò)定位:提供的位置信息精度差,但速度較gps定位定位1.1位置服務(wù)位置服務(wù)qlocationmanager支持定位方法 在指定locationmanager的定位方法后,則可以調(diào)用getlastknowlocation()方法獲取當(dāng)前的位置信息locationmanagerloc

7、ationmanager類的靜態(tài)常量類的靜態(tài)常量值值說(shuō)明說(shuō)明gps_providergps使 用 g p s 定 位 , 利 用 衛(wèi) 星 提 供 精 確 的 位 置 信 息 , 需 要android.permissions.access_fine_location用戶權(quán)限network_providernetwork使用網(wǎng)絡(luò)定位,利用基站或wi-fi提供近似的位置信息,需要具有如下權(quán)限:a n d r o i d . p e r m i s s i o n . a c c e s s _ c o a r s e _ l o c a t i o n 或android.permission.acc

8、ess_fine_location.1.1位置服務(wù)位置服務(wù)q以使用gps定位為例,獲取位置信息的代碼如下1.string provider = locationmanager.gps_provider;2.location location = locationmanager.getlastknownlocation(provider);代碼第2行返回的location對(duì)象中,包含了可以確定位置的信息,如經(jīng)度、緯度和速度等通過(guò)調(diào)用location中的getlatitude()和getlonggitude()方法可以分別獲取位置信息中的緯度和經(jīng)度,示例代碼如下1.double lat = loc

9、ation.getlatitude();2.double lng = location.getlongitude();1.1位置服務(wù)位置服務(wù)qlocationmanager提供了一種便捷、高效的位置監(jiān)視方法requestlocationupdates(),可以根據(jù)位置的距離變化和時(shí)間間隔設(shè)定產(chǎn)生位置改變事件的條件,這樣可以避免因微小的距離變化而產(chǎn)生大量的位置改變事件qlocationmanager中設(shè)定監(jiān)聽(tīng)位置變化的代碼如下 第1個(gè)參數(shù)是定位的方法,gps定位或網(wǎng)絡(luò)定位 第2個(gè)參數(shù)是產(chǎn)生位置改變事件的時(shí)間間隔,單位為微秒 第3個(gè)參數(shù)是距離條件,單位是米 第4個(gè)參數(shù)是回調(diào)函數(shù),在滿足條件后的位置

10、改變事件的處理函數(shù)1.1位置服務(wù)位置服務(wù) 實(shí)現(xiàn)locationlistener的代碼如下 代碼將產(chǎn)生位置改變事件的條件設(shè)定為距離改變10米,時(shí)間間隔為2秒1.locationlistener locationlistener = new locationlistener()2.public void onlocationchanged(location location) 3.4.public void onproviderdisabled(string provider) 5.6.public void onproviderenabled(string provider) 7.8.publi

11、c void onstatuschanged(string provider, int status, bundle extras) 9.10.;1.1位置服務(wù)位置服務(wù) 第2行代碼onlocationchanged()在設(shè)備的位置改變時(shí)被調(diào)用 第4行的onproviderdisabled()在用戶禁用具有定位功能的硬件時(shí)被調(diào)用 第6行的onproviderenabled()在用戶啟用具有定位功能的硬件時(shí)被調(diào)用 第8行的onstatuschanged()在提供定位功能的硬件的狀態(tài)改變時(shí)被調(diào)用,如從不可獲取位置信息狀態(tài)到可以獲取位置信息的狀態(tài),反之亦然 為了使gps定位功能生效,還需要在andro

12、idmanifest.xml文件中加入用戶許可 實(shí)現(xiàn)代碼如下1.1位置服務(wù)位置服務(wù)q位置服務(wù)一般都需要使用設(shè)備上的硬件,最理想的調(diào)試方式是將程序上傳到物理設(shè)備上運(yùn)行,但在沒(méi)有物理設(shè)備的情況下,也可以使用android模擬器提供的虛擬方式模擬設(shè)備的位置變化,調(diào)試具有位置服務(wù)的應(yīng)用程序 首先打開(kāi)首先打開(kāi)ddms中的模擬器控制,在中的模擬器控制,在location controls中的中的longitude和和latitude部分輸入設(shè)備當(dāng)前的經(jīng)度和緯度,然后部分輸入設(shè)備當(dāng)前的經(jīng)度和緯度,然后點(diǎn)擊點(diǎn)擊send按鈕,就將虛擬的位置信息發(fā)送到按鈕,就將虛擬的位置信息發(fā)送到android模擬器模擬器中中1

13、.1位置服務(wù)位置服務(wù) 在在 adb shell 命令中可以確定經(jīng)緯度,命令如下:命令中可以確定經(jīng)緯度,命令如下: geo fix 121.46690368652344 31.22337141316801 上海 geo fix 113.27522277832031 23.128994281453547 廣州 geo fix 108.94961357116699 34.266225427528674 西安 geo fix 116.39649868011475 39.90861699713222 北京 geo fix 117.02241897583008 36.67557848857602 濟(jì)南 g

14、eo fix 118.7840723991394 32.041013054723734 新街口1.1位置服務(wù)位置服務(wù)q在程序運(yùn)行過(guò)程中,可以在模擬器控制器中改變經(jīng)度和緯度坐標(biāo)值,程序在檢測(cè)到位置的變化后,會(huì)將最新的位置信息顯示在界面上q但筆者在1.5版本的android模擬器中進(jìn)行調(diào)試時(shí),發(fā)現(xiàn)模擬器控制器只能成功的將虛擬坐標(biāo)發(fā)送到模擬器中2次,超過(guò)2次后模擬器對(duì)新發(fā)送的虛擬坐標(biāo)不再響應(yīng)1.1位置服務(wù)位置服務(wù)q 下面是currentlocationdemo示例中l(wèi)ocationbasedservicedemo.java文件的完整代碼:1.package edu.hrbeu.locationbas

15、edservicedemo;2. 3.import android.app.activity;4.import android.content.context;5.import android.os.bundle;6.import android.widget.textview;7.import android.location.location;8.import android.location.locationlistener;9.import android.location.locationmanager;10. 1.1位置服務(wù)位置服務(wù)11.public class locationb

16、asedservicedemo extends activity 12.override13.public void oncreate(bundle savedinstancestate) 14.super.oncreate(savedinstancestate);15.setcontentview(r.layout.main);16. 17.string servicestring = context.location_service;18. locationmanager locationmanager = (locationmanager)getsystemservice(service

17、string);19.string provider = locationmanager.gps_provider;20.location location = locationmanager.getlastknownlocation(provider);21.getlocationinfo(location);22.locationmanager.requestlocationupdates(provider, 2000, 0, locationlistener);23.24. 1.1位置服務(wù)位置服務(wù)25.private void getlocationinfo(location locat

18、ion)26.string latlonginfo;27.textview locationtext = (textview)findviewbyid(r.id.txtshow);28.if (location != null)29.double lat = location.getlatitude();30.double lng = location.getlongitude();31.latlonginfo = lat: + lat + nlong: + lng;32.33.else34.latlonginfo = no location found;35.36.locationtext.

19、settext(your current position is:n + latlonginfo);37.38. 39.private final locationlistener locationlistener = new locationlistener()40.override41.public void onlocationchanged(location location) 42.getlocationinfo(location);43.1.1位置服務(wù)位置服務(wù)44.override45. public void onproviderdisabled(string provider)

20、 46.getlocationinfo(null);47. 48. override49. public void onproviderenabled(string provider) 50.getlocationinfo(null);51. 52. override53. public void onstatuschanged(string provider, int status, bundle extras) 54. 55.;56.2、申請(qǐng)地圖密鑰、申請(qǐng)地圖密鑰2.1申請(qǐng)密鑰的方法申請(qǐng)密鑰的方法q debug keystore的存放位置:exclipse下:window/preferen

21、ces/android/build/default debug keystoreq 在dos下運(yùn)行keytool -list alias androiddebugkey keystore c:documents and settingssdhbk.androiddebug.keystore -storepass android -keypass androidq 在dos下運(yùn)行生成的指紋認(rèn)證如(48:35:92:1d:de:be:af:b7:a1:54:6f:de:44:52:71:89)2.2注冊(cè)密鑰注冊(cè)密鑰q 打開(kāi) http:/ 填入你的認(rèn)證指紋(md5)即可獲得apikey了,結(jié)果顯示如

22、下:q 感謝您注冊(cè) android 地圖 api 密鑰!q 您的密鑰是:q 0swyoo4iemu2e0rv0c3uzdixvvrgey57maopkaq2.3在在mapview中使用中使用apikeyq 使用得到的apikey:q 在layout中加入mapviewq 2.4權(quán)限和權(quán)限和library包包q 做google map的時(shí)候要有網(wǎng)絡(luò)訪問(wèn)的權(quán)限 q uses-library包 3 3、使用、使用google mapgoogle map3.1使用使用google mapqmapview的地圖的顯示控件,可以設(shè)置不同的顯示模式,例如衛(wèi)星模式、街道模式或交通模式qmapcontrolle

23、r則是mapview的控制器,可以控制mapview的顯示中心和縮放級(jí)別等功能q下面的內(nèi)容以googlemapdemo為例,說(shuō)明如何在android系統(tǒng)中開(kāi)發(fā)google地圖程序q這個(gè)示例將在程序內(nèi)部設(shè)置一個(gè)坐標(biāo)點(diǎn),然后在程序啟動(dòng)時(shí),使用mapview控件在地圖上顯示這個(gè)坐標(biāo)點(diǎn)的位置3.1使用使用google mapq在建立工程時(shí)將com.google.android.maps的擴(kuò)展庫(kù)添加到工程中,這樣就可以使用google地圖的所有功能q添加com.google.android.maps擴(kuò)展庫(kù)的方式是在創(chuàng)建工程時(shí),在build target項(xiàng)中選擇google apisq創(chuàng)建工程后,修改/r

24、es/layout/main.xml文件,在布局中加入一個(gè)mapview控件,并設(shè)置剛獲取的“地圖密鑰”3.1使用使用google mapqmain.xml文件的完整代碼如下.使用使用google mapq僅在布局中添加mapview控件,還不能夠直接在程序中調(diào)用這個(gè)控件,還需要將程序本身設(shè)置成mapactivity(com.google.android.maps.mapactivity)qmapactivity類負(fù)責(zé)處理顯示google地圖所需的生命周期和后臺(tái)服務(wù)管理q下面先給出整個(gè)googlemapdemo.java文件的完整代碼1.package edu.

25、hrbeu.googlemapdemo;2. 3.import com.google.android.maps.geopoint;4.import com.google.android.maps.mapactivity;5.import com.google.android.maps.mapcontroller;6.import com.google.android.maps.mapview; 7. 3.1使用使用google map8.import android.os.bundle;9. 10.public class googlemapdemo extends mapactivity 1

26、1.private mapview mapview;12.private mapcontroller mapcontroller;13.14.override15.public void oncreate(bundle savedinstancestate) 16.super.oncreate(savedinstancestate);17.setcontentview(r.layout.main);18. 19.mapview = (mapview)findviewbyid(r.id.mapview);20.mapcontroller = mapview.getcontroller();21.

27、 22.double lng = 126.676530486 * 1e6;23.double lat = 45.7698895661 * 1e6;24.geopoint point = new geopoint(value(), value();1. 3.1使用使用google map26.mapcontroller.setcenter(point);27.mapcontroller.setzoom(11);28.mapcontroller.animateto(point);29.30.mapview.setsatellite(false)31.32. 33.ove

28、tected boolean isroutedisplayed() 35./ todo auto-generated method stub36.return false;使用使用google mapq 第20行代碼獲取了mapcontrollerq 第22行和第23行代碼設(shè)定的經(jīng)度為126.676530486 * 1e6、緯度為45.7698895661 * 1e6的地理坐標(biāo)點(diǎn)q 第26行代碼將這個(gè)坐標(biāo)轉(zhuǎn)化為geopoint再使用q 第26行代碼設(shè)置mapview的“顯示中點(diǎn)”q 第27行代碼設(shè)置放大層級(jí)q 在第28行代碼將mapview顯示區(qū)域的中心

29、移動(dòng)到第26行設(shè)置的“顯示中心”3.1使用使用google mapq 第20行代碼獲取了mapcontrollerq 第22行和第23行代碼設(shè)定的經(jīng)度為126.676530486 * 1e6、緯度為45.7698895661 * 1e6的地理坐標(biāo)點(diǎn)q 第26行代碼將這個(gè)坐標(biāo)轉(zhuǎn)化為geopoint再使用q 第26行代碼設(shè)置mapview的“顯示中點(diǎn)”q 第27行代碼設(shè)置放大層級(jí)q 在第28行代碼將mapview顯示區(qū)域的中心移動(dòng)到第26行設(shè)置的“顯示中心”3.1使用使用google mapq 第30行代碼是設(shè)定mapview的地圖顯示模式是否為衛(wèi)星模式,設(shè)置true則為衛(wèi)星模式,設(shè)置false則

30、為普通模式q 第34行代碼isroutedisplayed()方法,是用來(lái)統(tǒng)計(jì)程序是否顯示在google地圖中顯示路徑信息,默認(rèn)為不顯示q由于獲取google地圖是需要使用互聯(lián)網(wǎng)的,所以在運(yùn)行前還需要在androidmanifest.xml文件中,添加允許訪問(wèn)互聯(lián)網(wǎng)的許可qandroidmanifest.xml文件的完整代碼如下3.1使用使用google map. 9. 10. 11. 12.13. 14. 15. 16.17. 18. 19. 3.2運(yùn)行結(jié)果圖運(yùn)行結(jié)果圖 運(yùn)行結(jié)果如圖地圖模式地圖模式衛(wèi)星模式衛(wèi)星模式3.3overlay的使用的使用q通過(guò)在mapview上添加覆蓋

31、層,可以在指定的位置加添加注解、繪制圖像或處理進(jìn)行鼠標(biāo)事件等qgoogle地圖上可以加入多個(gè)覆蓋層,所有覆蓋層均都在地圖圖層之上,每個(gè)覆蓋層均可以對(duì)用戶的點(diǎn)擊事件做出響應(yīng)q創(chuàng)建覆蓋層繼承overlay類的子類,并通過(guò)重載draw()方法為指定位置添加注解,重載ontap()方法處理用戶的點(diǎn)擊操作q下面的代碼是創(chuàng)建overlay的最小代碼集合3.3overlay的使用的使用1.public class textoverlay extends overlay 2.override3.public void draw(canvas canvas, mapview mapview, boolean s

32、hadow) 4.if (shadow = false)5.6.7.else8.9.super.draw(canvas, mapview, shadow);10.11. 12.override13.public boolean ontap(geopoint p, mapview mapview) 14.return false;overlay的使用的使用 第第3行代碼中行代碼中draw()方法,方法,shadow變量是用來(lái)區(qū)分繪制圖變量是用來(lái)區(qū)分繪制圖層的層的false表示在覆蓋層上進(jìn)行繪制表示在覆蓋層上進(jìn)行繪制true則表示在隱藏層上進(jìn)行繪制則表示在隱藏層上進(jìn)行繪制 第第1

33、4行代碼是行代碼是ontap()方法的返回值方法的返回值返回返回false表示覆蓋層不處理點(diǎn)擊事件表示覆蓋層不處理點(diǎn)擊事件返回返回true則表示已經(jīng)處理了點(diǎn)擊事件則表示已經(jīng)處理了點(diǎn)擊事件q在覆蓋層繪制圖形或文字需要使用“畫(huà)布”(canvas)來(lái)實(shí)現(xiàn),繪制的位置是屏幕坐標(biāo),這就需要將地圖上的物理坐標(biāo)與屏幕坐標(biāo)進(jìn)行轉(zhuǎn)換3.3overlay的使用的使用qprojection類提供了物理坐標(biāo)和屏幕坐標(biāo)的轉(zhuǎn)換功能,可在經(jīng)度和緯度表示的geopoint點(diǎn)和屏幕上point點(diǎn)進(jìn)行轉(zhuǎn)換 topixels()方法將物理坐標(biāo)轉(zhuǎn)換為屏幕坐標(biāo) frompixels()方法將屏幕坐標(biāo)轉(zhuǎn)換為物理坐標(biāo)q兩個(gè)方法的具體使用方

34、法可以參考下面的代碼1.projection projection = mapview.getprojection();2. 3.projection.topixels(geopoint, point);4.projection.frompixels(point.x, point.y);3.3overlay的使用的使用q 下面的內(nèi)容以mapoverlaydemo示例,說(shuō)明如何在google地圖上添加覆蓋層,并在預(yù)訂的物理坐標(biāo)上顯示提示信息q 右圖是mapoverlaydemo示例的運(yùn)行結(jié)果3.3overlay的使用的使用q textoverlay類是mapoverlaydemo示例的覆蓋層,主

35、要重載了draw()方法,在指定的物理坐標(biāo)上繪制了標(biāo)記點(diǎn)和提示文字q textoverlay.java文件的核心代碼如下1.public class textoverlay extends overlay 2.private final int mradius = 5;3. 4.override5.public void draw(canvas canvas, mapview mapview, boolean shadow) 6.projection projection = mapview.getprojection();7.3.3overlay的使用的使用8. if (shadow = f

36、alse)9.double lng = 126.676530486 * 1e6;10. double lat = 45.7698895661 * 1e6;11.geopoint geopoint = new geopoint(value(), value();12.13. point point = new point();14. projection.topixels(geopoint, point);15.16. rectf oval = new rectf(point.x - mradius, point.y - mradius, point.x + mrad

37、ius, point.y + mradius);17. 18.paint paint = new paint();19. paint.setargb(250, 250, 0, 0);20. paint.setantialias(true);21. paint.setfakeboldtext(true);22. 3.3overlay的使用的使用 第2行代碼定義了繪制半徑變量mradius,供定義繪制范圍使用 第14行代碼使用projection完成了從物理坐標(biāo)到屏幕坐標(biāo)的轉(zhuǎn)換23. canvas.drawoval(oval, paint);24.canvas.drawtext(標(biāo)記點(diǎn), point.x+2*mradius, point.y, paint);25. 26. super.draw(canvas, mapview, shadow);27.28. 29.override30.public boolean ontap(geopoint p, mapview mapview) 31.return false;32.33. 3.3overlay的使用的使用 第16行代碼oval設(shè)定標(biāo)記點(diǎn)的大小 第19行設(shè)置了繪制顏色 第20行開(kāi)啟了

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論