版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第9章位置服務(wù)與地圖應(yīng)用本章學(xué)習(xí)目標(biāo):了解位置服務(wù)的概念了解地圖密鑰的申請(qǐng)方法掌握獲取位置信息的方法掌握MapView和MapController的使用方法掌握Google地圖覆蓋層的使用方法
9.1位置服務(wù)位置服務(wù)位置服務(wù)(Location-BasedServices,LBS),又稱定位服務(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ā)布第一款具有GPS功能的手機(jī)基于位置的服務(wù)發(fā)展迅速,已涉及到商務(wù)、醫(yī)療、工作和生活的各個(gè)方面,為用戶提供定位、追蹤和敏感區(qū)域警告等一系列服務(wù)
9.1位置服務(wù)位置服務(wù)Android平臺(tái)支持提供位置服務(wù)的API,在開發(fā)過程中主要用到LocationManager和LocationProviders對(duì)象LocationManager可以用來獲取當(dāng)前的位置,追蹤設(shè)備的移動(dòng)路線,或設(shè)定敏感區(qū)域,在進(jìn)入或離開敏感區(qū)域時(shí)設(shè)備會(huì)發(fā)出特定警報(bào)LocationProviders是能夠提供定位功能的組件集合,集合中的每種組件以不同的技術(shù)提供設(shè)備的當(dāng)前位置,區(qū)別在于定位的精度、速度和成本等方面9.1位置服務(wù)位置服務(wù)提供位置服務(wù),首先需要獲得LocationManager對(duì)象獲取LocationManager可以通過調(diào)用android.app.Activity.getSystemService()函數(shù)實(shí)現(xiàn)android.app.Activity.getSystemService()函數(shù)代碼如下代碼第1行的Context.LOCATION_SERVICE指明獲取的服務(wù)是位置服務(wù)代碼第2行的getSystemService()函數(shù),可以根據(jù)服務(wù)名稱獲取Android提供的系統(tǒng)級(jí)服務(wù)StringserviceString=Context.LOCATION_SERVICE;LocationManagerLocationManager=(LocationManager)getSystemService(serviceString);9.1位置服務(wù)位置服務(wù)Android支持的系統(tǒng)級(jí)服務(wù)表Context類的靜態(tài)常量值返回對(duì)象說明LOCATION_SERVICElocationLocationManager控制位置等設(shè)備的更新WINDOW_SERVICEwindowWindowManager最頂層的窗口管理器LAYOUT_INFLATER_SERVICElayout_inflaterLayoutInflater將XML資源實(shí)例化為ViewPOWER_SERVICEpowerPowerManager電源管理ALARM_SERVICEalarmAlarmManager在指定時(shí)間接受IntentNOTIFICATION_SERVICEnotificationNotificationManager后臺(tái)事件通知KEYGUARD_SERVICEkeyguardKeyguardManager鎖定或解鎖鍵盤SEARCH_SERVICEsearchSearchManager訪問系統(tǒng)的搜索服務(wù)VIBRATOR_SERVICEvibratorVibrator訪問支持振動(dòng)的硬件CONNECTIVITY_SERVICEconnectionConnectivityManager網(wǎng)絡(luò)連接管理WIFI_SERVICEwifiWifiManagerWi-Fi連接管理INPUT_METHOD_SERVICEinput_methodInputMethodManager
輸入法管理9.1位置服務(wù)位置服務(wù)在獲取到LocationManager后,還需要指定LocationManager的定位方法,然后才能夠調(diào)用LocationManagergetLastKnowLocation()方法獲取當(dāng)前位置LocationManager支持的定位方法有兩種GPS定位:可以提供更加精確的位置信息,但定位速度和質(zhì)量受到衛(wèi)星數(shù)量和環(huán)境情況的影響網(wǎng)絡(luò)定位:提供的位置信息精度差,但速度較GPS定位快9.1位置服務(wù)位置服務(wù)LocationManager支持定位方法在指定LocationManager的定位方法后,則可以調(diào)用getLastKnowLocation()方法獲取當(dāng)前的位置信息LocationManager類的靜態(tài)常量值說明GPS_PROVIDERgps使用GPS定位,利用衛(wèi)星提供精確的位置信息,需要android.permissions.ACCESS_FINE_LOCATION用戶權(quán)限NETWORK_PROVIDERnetwork使用網(wǎng)絡(luò)定位,利用基站或Wi-Fi提供近似的位置信息,需要具有如下權(quán)限:android.permission.ACCESS_COARSE_LOCATION或android.permission.ACCESS_FINE_LOCATION.9.1位置服務(wù)位置服務(wù)以使用GPS定位為例,獲取位置信息的代碼如下代碼第2行返回的Location對(duì)象中,包含了可以確定位置的信息,如經(jīng)度、緯度和速度等通過調(diào)用Location中的getLatitude()和getLonggitude()方法可以分別獲取位置信息中的緯度和經(jīng)度,示例代碼如下Stringprovider=LocationManager.GPS_PROVIDER;Locationlocation=locationManager.getLastKnownLocation(provider);doublelat=location.getLatitude();doublelng=location.getLongitude();9.1位置服務(wù)位置服務(wù)LocationManager提供了一種便捷、高效的位置監(jiān)視方法requestLocationUpdates(),可以根據(jù)位置的距離變化和時(shí)間間隔設(shè)定產(chǎn)生位置改變事件的條件,這樣可以避免因微小的距離變化而產(chǎn)生大量的位置改變事件LocationManager中設(shè)定監(jiān)聽位置變化的代碼如下第1個(gè)參數(shù)是定位的方法,GPS定位或網(wǎng)絡(luò)定位第2個(gè)參數(shù)是產(chǎn)生位置改變事件的時(shí)間間隔,單位為微秒第3個(gè)參數(shù)是距離條件,單位是米第4個(gè)參數(shù)是回調(diào)函數(shù),在滿足條件后的位置改變事件的處理函數(shù)locationManager.requestLocationUpdates(provider,2000,10,locationListener);9.1位置服務(wù)位置服務(wù)代碼將產(chǎn)生位置改變事件的條件設(shè)定為距離改變10米,時(shí)間間隔為2秒實(shí)現(xiàn)locationListener的代碼如下第2行代碼onLocationChanged()在設(shè)備的位置改變時(shí)被調(diào)用LocationListenerlocationListener=newLocationListener(){
publicvoidonLocationChanged(Locationlocation){
}
publicvoidonProviderDisabled(Stringprovider){
}
publicvoidonProviderEnabled(Stringprovider){
}
publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){
}};9.1位置服務(wù)位置服務(wù)第4行的onProviderDisabled()在用戶禁用具有定位功能的硬件時(shí)被調(diào)用第6行的onProviderEnabled()在用戶啟用具有定位功能的硬件時(shí)被調(diào)用第8行的onStatusChanged()在提供定位功能的硬件的狀態(tài)改變時(shí)被調(diào)用,如從不可獲取位置信息狀態(tài)到可以獲取位置信息的狀態(tài),反之亦然9.1位置服務(wù)位置服務(wù)為了使GPS定位功能生效,還需要在AndroidManifest.xml文件中加入用戶許可實(shí)現(xiàn)代碼如下<uses-permissionandroid:name="android.permission.ACCESS_FINE_LOCATION"/>9.1位置服務(wù)位置服務(wù)CurrentLocationDemo是一個(gè)提供位置服務(wù)的基本示例,提供了顯示當(dāng)前位置新的功能,并能夠監(jiān)視設(shè)備的位置變化9.1位置服務(wù)位置服務(wù)位置服務(wù)一般都需要使用設(shè)備上的硬件,最理想的調(diào)試方式是將程序上傳到物理設(shè)備上運(yùn)行,但在沒有物理設(shè)備的情況下,也可以使用Android模擬器提供的虛擬方式模擬設(shè)備的位置變化,調(diào)試具有位置服務(wù)的應(yīng)用程序首先打開DDMS中的模擬器控制,在LocationControls中的Longitude和Latitude部分輸入設(shè)備當(dāng)前的經(jīng)度和緯度,然后點(diǎn)擊Send按鈕,就將虛擬的位置信息發(fā)送到Android模擬器中9.1位置服務(wù)位置服務(wù)在程序運(yùn)行過程中,可以在模擬器控制器中改變經(jīng)度和緯度坐標(biāo)值,程序在檢測(cè)到位置的變化后,會(huì)將最新的位置信息顯示在界面上但筆者在1.5版本的Android模擬器中進(jìn)行調(diào)試時(shí),發(fā)現(xiàn)模擬器控制器只能成功的將虛擬坐標(biāo)發(fā)送到模擬器中2次,超過2次后模擬器對(duì)新發(fā)送的虛擬坐標(biāo)不再響應(yīng)9.1位置服務(wù)位置服務(wù)下面是CurrentLocationDemo示例中LocationBasedServiceDemo.java文件的完整代碼packageedu.hrbeu.LocationBasedServiceDemo;
importandroid.app.Activity;importandroid.content.Context;importandroid.os.Bundle;importandroid.widget.TextView;importandroid.location.Location;importandroid.location.LocationListener;importandroid.location.LocationManager;
9.1位置服務(wù)位置服務(wù)publicclassLocationBasedServiceDemoextendsActivity{ @Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main);
StringserviceString=Context.LOCATION_SERVICE; LocationManagerlocationManager=(LocationManager)getSystemService(serviceString); Stringprovider=LocationManager.GPS_PROVIDER; Locationlocation=locationManager.getLastKnownLocation(provider); getLocationInfo(location); locationManager.requestLocationUpdates(provider,2000,0,locationListener); }
9.1位置服務(wù)位置服務(wù)privatevoidgetLocationInfo(Locationlocation){ StringlatLongInfo; TextViewlocationText=(TextView)findViewById(R.id.txtshow); if(location!=null){ doublelat=location.getLatitude(); doublelng=location.getLongitude(); latLongInfo="Lat:"+lat+"\nLong:"+lng; } else{ latLongInfo="Nolocationfound"; } locationText.setText("YourCurrentPositionis:\n"+latLongInfo); }
privatefinalLocationListenerlocationListener=newLocationListener(){ @Override publicvoidonLocationChanged(Locationlocation){ getLocationInfo(location); }9.1位置服務(wù)位置服務(wù)@Override publicvoidonProviderDisabled(Stringprovider){ getLocationInfo(null); } @Override publicvoidonProviderEnabled(Stringprovider){ getLocationInfo(null); } @Override publicvoidonStatusChanged(Stringprovider,intstatus,Bundleextras){ } };}9.2
Google地圖應(yīng)用
9.2.1申請(qǐng)地圖密鑰首先向Google申請(qǐng)一組經(jīng)過驗(yàn)證的“地圖密鑰”(MapAPIKey),然后使用MapView(com.google.android.maps.MapView)就可以將Google地圖嵌入到Android應(yīng)用程序中,才能正常使用Google的地圖服務(wù)“地圖密鑰”是訪問Google地圖數(shù)據(jù)的密鑰,無論是模擬器還是在真實(shí)設(shè)備中需要使用這個(gè)密鑰9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰注冊(cè)“地圖密鑰”的第一步是申請(qǐng)一個(gè)Google賬戶,也就是Gmail電子郵箱,申請(qǐng)地址是/accounts/Login找到保存Debug證書的keystore的保存位置,并獲取證書的MD5散列值keystore是一個(gè)密碼保護(hù)的文件,用來存儲(chǔ)Android提供的用于調(diào)試的證書,獲取MD5散列值的主要目的是為下一步申請(qǐng)“地圖密鑰”做準(zhǔn)備9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰獲取證書的保存地址:首先打開Eclipse,通過Window→Preferences打開配置窗體,在Android→Build欄中的Defaultdebugkeystore中可以找到9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰為了獲取Debug證書MD5散列值的,需要打開命令行工具CMD,然后切換到keystore的目錄,輸入如下命令如果提示無法找到keytool,可以將<JavaSDK>/bin的路徑添加到系統(tǒng)的PATH變量中keytool–list–keystoredebug.keystore9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰在提示輸入keystore密碼時(shí),輸入缺省密碼android,MD5散列將顯示在最下方。筆者的MD5散列值為68:76:89:C8:A4:24:61:F9:EA:F3:F7:70:CC:FD:C8:159.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰申請(qǐng)“地圖密鑰”的最后一步是打開申請(qǐng)頁面,輸入MD5散列值申請(qǐng)頁面的地址是/intl/zh-CN/android/add-ons/google-apis/maps-api-signup.html9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰輸入MD5散列值后,點(diǎn)擊GenerateAPIKey按鈕,將提示用戶輸入Google賬戶,正確輸入Google賬戶后,將產(chǎn)生申請(qǐng)“地圖密鑰”的獲取結(jié)果9.2
Google地圖應(yīng)用9.2.1申請(qǐng)地圖密鑰筆者獲取的“地圖密鑰”是0mVK8GeO6WUz4S2F94z52CIGSSlvlTwnrE4DsiA,在以后使用到MapView的時(shí)候都需要輸入這個(gè)密鑰但需要注意的是,讀者并不能使用這個(gè)密鑰,讀者需要根據(jù)自己的Debug證書的MD5散列值,重新到Google網(wǎng)站上申請(qǐng)一個(gè)用于調(diào)試程序的“地圖密鑰”9.2
Google地圖應(yīng)用9.2.2使用Google地圖MapView的地圖的顯示控件,可以設(shè)置不同的顯示模式,例如衛(wèi)星模式、街道模式或交通模式MapController則是MapView的控制器,可以控制MapView的顯示中心和縮放級(jí)別等功能下面的內(nèi)容以GoogleMapDemo為例,說明如何在Android系統(tǒng)中開發(fā)Google地圖程序這個(gè)示例將在程序內(nèi)部設(shè)置一個(gè)坐標(biāo)點(diǎn),然后在程序啟動(dòng)時(shí),使用MapView控件在地圖上顯示這個(gè)坐標(biāo)點(diǎn)的位置9.2
Google地圖應(yīng)用9.2.2使用Google地圖在建立工程時(shí)將com.google.android.maps的擴(kuò)展庫添加到工程中,這樣就可以使用Google地圖的所有功能添加com.google.android.maps擴(kuò)展庫的方式是在創(chuàng)建工程時(shí),在BuildTarget項(xiàng)中選擇GoogleAPIs創(chuàng)建工程后,修改/res/layout/main.xml文件,在布局中加入一個(gè)MapView控件,并設(shè)置剛獲取的“地圖密鑰”9.2
Google地圖應(yīng)用9.2.2使用Google地圖main.xml文件的完整代碼如下<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextViewandroid:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello"/>
<com.google.android.maps.MapView android:id="@+id/mapview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apiKey="0mVK8GeO6WUz4S94z52CIGSSlvlTwnrE4DsiA"/></LinearLayout>9.2
Google地圖應(yīng)用9.2.2使用Google地圖僅在布局中添加MapView控件,還不能夠直接在程序中調(diào)用這個(gè)控件,還需要將程序本身設(shè)置成MapActivity(com.google.android.maps.MapActivity)MapActivity類負(fù)責(zé)處理顯示Google地圖所需的生命周期和后臺(tái)服務(wù)管理下面先給出整個(gè)GoogleMapDemo.java文件的完整代碼packageedu.hrbeu.GoogleMapDemo;
importcom.google.android.maps.GeoPoint;importcom.google.android.maps.MapActivity;importcom.google.android.maps.MapController;importcom.google.android.maps.MapView;
9.2
Google地圖應(yīng)用9.2.2使用Google地圖importandroid.os.Bundle;
publicclassGoogleMapDemoextendsMapActivity{ privateMapViewmapView; privateMapControllermapController;
@Override publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main);
mapView=(MapView)findViewById(R.id.mapview); mapController=mapView.getController();
Doublelng=126.676530486*1E6; Doublelat=45.7698895661*1E6; GeoPointpoint=newGeoPoint(Value(),Value());9.2
Google地圖應(yīng)用9.2.2使用Google地圖25.mapController.setCenter(point); mapController.setZoom(11); mapController.animateTo(point);
mapView.setSatellite(false) }
@Override protectedbooleanisRouteDisplayed(){ //TODOAuto-generatedmethodstub returnfalse; }}9.2
Google地圖應(yīng)用9.2.2使用Google地圖第20行代碼獲取了MapController第22行和第23行代碼設(shè)定的經(jīng)度為126.676530486*1E6、緯度為45.7698895661*1E6的地理坐標(biāo)點(diǎn)第26行代碼將這個(gè)坐標(biāo)轉(zhuǎn)化為GeoPoint再使用第26行代碼設(shè)置MapView的“顯示中點(diǎn)”第27行代碼設(shè)置放大層級(jí)在第28行代碼將MapView顯示區(qū)域的中心移動(dòng)到第26行設(shè)置的“顯示中心”第30行代碼是設(shè)定MapView的地圖顯示模式是否為衛(wèi)星模式,設(shè)置true則為衛(wèi)星模式,設(shè)置false則為普通模式第34行代碼isRouteDisplayed()方法,是用來統(tǒng)計(jì)程序是否顯示在Google地圖中顯示路徑信息,默認(rèn)為不顯示9.2
Google地圖應(yīng)用9.2.2使用Google地圖由于獲取Google地圖是需要使用互聯(lián)網(wǎng)的,所以在運(yùn)行前還需要在AndroidManifest.xml文件中,添加允許訪問互聯(lián)網(wǎng)的許可AndroidManifest.xml文件的完整代碼如下<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android" package="edu.hrbeu.GoogleMapDemo" android:versionCode="1" android:versionName="1.0">9.2
Google地圖應(yīng)用9.2.2使用Google地圖<applicationandroid:icon="@drawable/icon"android:label="@string/app_name"> <activityandroid:name=".GoogleMapDemo“ android:label="@string/app_name"> <intent-filter> <actionandroid:name="ent.action.MAIN"/> <categoryandroid:name="ent.category.LAUNCHER"/> </intent-filter> </activity> <uses-libraryandroid:name="com.google.android.maps"></uses-library></application>
<uses-sdkandroid:minSdkVersion="3"/><uses-permissionandroid:name="android.permission.INTERNET"/></manifest>9.2
Google地圖應(yīng)用9.2.2使用Google地圖運(yùn)行結(jié)果如圖地圖模式衛(wèi)星模式9.2
Google地圖應(yīng)用9.2.3使用Overlay通過在MapView上添加覆蓋層,可以在指定的位置加添加注解、繪制圖像或處理進(jìn)行鼠標(biāo)事件等Google地圖上可以加入多個(gè)覆蓋層,所有覆蓋層均都在地圖圖層之上,每個(gè)覆蓋層均可以對(duì)用戶的點(diǎn)擊事件做出響應(yīng)創(chuàng)建覆蓋層繼承Overlay類的子類,并通過重載draw()方法為指定位置添加注解,重載onTap()方法處理用戶的點(diǎn)擊操作9.2
Google地圖應(yīng)用9.2.3使用Overlay下面的代碼是創(chuàng)建Overlay的最小代碼集合publicclassTextOverlayextendsOverlay{ @Override publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){ if(shadow==false){
} else{ } super.draw(canvas,mapView,shadow); }
@Override publicbooleanonTap(GeoPointp,MapViewmapView){ returnfalse; }}9.2
Google地圖應(yīng)用9.2.3使用Overlay第3行代碼中draw()方法,shadow變量是用來區(qū)分繪制圖層的false表示在覆蓋層上進(jìn)行繪制true則表示在隱藏層上進(jìn)行繪制第14行代碼是onTap()方法的返回值返回false表示覆蓋層不處理點(diǎn)擊事件返回true則表示已經(jīng)處理了點(diǎn)擊事件在覆蓋層繪制圖形或文字需要使用“畫布”(Canvas)來實(shí)現(xiàn),繪制的位置是屏幕坐標(biāo),這就需要將地圖上的物理坐標(biāo)與屏幕坐標(biāo)進(jìn)行轉(zhuǎn)換9.2
Google地圖應(yīng)用9.2.3使用OverlayProjection類提供了物理坐標(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)兩個(gè)方法的具體使用方法可以參考下面的代碼Projectionprojection=mapView.getProjection();
projection.toPixels(geoPoint,point);projection.fromPixels(point.x,point.y);9.2
Google地圖應(yīng)用9.2.3使用Overlay下面的內(nèi)容以MapOverlayDemo示例,說明如何在Google地圖上添加覆蓋層,并在預(yù)訂的物理坐標(biāo)上顯示提示信息右圖是MapOverlayDemo示例的運(yùn)行結(jié)果9.2
Google地圖應(yīng)用9.2.3使用OverlayTextOverlay類是MapOverlayDemo示例的覆蓋層,主要重載了draw()方法,在指定的物理坐標(biāo)上繪制了標(biāo)記點(diǎn)和提示文字TextOverlay.java文件的核心代碼如下publicclassTextOverlayextendsOverlay{ privatefinalintmRadius=5;
@Override publicvoiddraw(Canvascanvas,MapViewmapView,booleanshadow){ Projectionprojection=mapView.getProjection();
9.2
Google地圖應(yīng)用9.2.3使用Overlayif(shadow==false){ Doublelng=126.676530486*1E6; Doublelat=45.7698895661*1E6; GeoPointgeoPoint=newGeoPoint(Value(),Value());
Pointpoint=newPoint(); projection.toPixels(geoPoint,point);
RectFoval=newRectF(point.x-mRadius,point.y-mRadius, point.x+mRadius,point.y+mRadius);
Paintpaint=newPaint(); paint.setARGB(250,250,0,0); paint.setAntiAlias(true); paint.setFakeBoldText(true);
9.2
Google地圖應(yīng)用9.2.3使用Overlay第2行代碼定義了繪制半徑變量mRadius,供定義繪制范圍使用第14行代碼使用Projection完成了從物理坐標(biāo)到屏幕坐標(biāo)的轉(zhuǎn)換canvas.drawOval(oval,paint); canvas.drawText("標(biāo)記點(diǎn)",point.x+2*mRadius,point.y,paint); } super.draw(canvas,ma
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年白糖道路運(yùn)輸服務(wù)協(xié)議范例版B版
- 2024年社區(qū)便利店商品庫存管理與銷售預(yù)測(cè)合同3篇
- 2024版服務(wù)器租賃合同下載
- 2024年高速公路拓寬工程征收補(bǔ)償合同
- 2024年生物醫(yī)藥研發(fā)與許可協(xié)議
- 西藏集中式光伏電站(10MW以上)建設(shè)流程
- oqc組長(zhǎng)崗位職責(zé)(共5篇)
- 2023年第一季度思想?yún)R報(bào)
- 老年護(hù)理-復(fù)習(xí)題
- 2025年度建筑工程施工安全管理及文明施工責(zé)任書3篇
- 商業(yè)定價(jià)表(含各商鋪價(jià)格測(cè)算銷售回款)
- 【化學(xué)】重慶市2021-2022學(xué)年高一上學(xué)期期末聯(lián)合檢測(cè)試題
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 單位工程質(zhì)量控制程序流程圖
- 部編版小學(xué)語文三年級(jí)(下冊(cè))學(xué)期課程綱要
- 化學(xué)工業(yè)有毒有害作業(yè)工種范圍表
- 洼田飲水試驗(yàn)
- 定置定位管理一
- 商票保貼協(xié)議
- TOP-DOWN培訓(xùn)
- 電動(dòng)力學(xué)答案完整
評(píng)論
0/150
提交評(píng)論