中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于google地圖的Android系統(tǒng)導(dǎo)航應(yīng)用設(shè)計(jì)

        基于google地圖的Android系統(tǒng)導(dǎo)航應(yīng)用設(shè)計(jì)

        作者: 時(shí)間:2013-10-21 來(lái)源:網(wǎng)絡(luò) 收藏


        四、GPS 定位功能實(shí)現(xiàn)


        全球衛(wèi)星定位系統(tǒng)(Global Positioning System,GPS)是一個(gè)中距離圓型軌道衛(wèi)星導(dǎo)航系統(tǒng),它可以為地球表面超98%的地區(qū)提供準(zhǔn)確的定位、測(cè)速和高精度的時(shí)間標(biāo)準(zhǔn)服務(wù),在各個(gè)領(lǐng)域都有廣泛的應(yīng)用。

        Android 支持GPS 服務(wù)的API.該服務(wù)可以用來(lái)獲取當(dāng)前設(shè)備的地理位置,應(yīng)用程序通過(guò)該API 獲得地理位置,并可以定時(shí)請(qǐng)求更新當(dāng)前設(shè)備的地理定位信息。該系統(tǒng)將用到GPS API 中包幾個(gè)重要的功能類:

        LocATIonManager,用于管理Android 用戶定位服務(wù);LocationProvider,提供多種定位方式供開發(fā)者選擇;Criteria,是應(yīng)用通過(guò)LocationProvider 中設(shè)置的屬性來(lái)選擇合適的定位提供者。

        獲取用戶當(dāng)前位置的步驟如下:
        1、在AndroidManifeST.xml 中聲明相應(yīng)的權(quán)限:
        android:name="“android.permission.ACCESS_COARSE_LOCATION”" permission>
        2、獲取LocationManager 對(duì)象:
        LocationManager locationManager =(LocationManager)getSystemSERvice (Context.LOCATION_SERVICE);
        3、設(shè)置Criteria 對(duì)象:
        Criteria criteria = newCriteria();
        criteria.setAccuracy(Criteria.ACCURACY_FINE);
        criteria.setAltitudeRequired(false);
        criteria.setBearingRequired(false);
        criteria.setCostAllowed(false);
        criteria.setPowerRequirement(Criteria.POWER_LOW);
        4、設(shè)置Provider:
        String provider = locationManager.getBestProvider(criteria,true);
        Location location= locationManager.getLastKnownLocation(provider);

        五、導(dǎo)航功能實(shí)現(xiàn)

        在正式版本的Android SDK 中,移除了原有M5 版本里面的DrivingDirection package,所以無(wú)法透過(guò)程序來(lái)規(guī)劃導(dǎo)航線路。因此導(dǎo)航功能的實(shí)現(xiàn)我們是通過(guò)載入web 導(dǎo)航網(wǎng)頁(yè)的方式實(shí)現(xiàn)的。Android 提供了一個(gè)名為WebView的控件來(lái)專門瀏覽網(wǎng)頁(yè)。

        WebView控件是基于WebKit 瀏覽器網(wǎng)頁(yè)排版引擎的一個(gè)java接口,它能夠完美支持html、javascript、css.有時(shí)我們可以把整個(gè)UI 甚至數(shù)據(jù)處理都交給WebView,配合PHP 等服務(wù)器端程序,這樣的Android 應(yīng)用開發(fā)更為簡(jiǎn)單UI 更為豐富。因此本系統(tǒng)的導(dǎo)航功能的主要工作就集中在編寫 Map Api javascript 版本的導(dǎo)航網(wǎng)頁(yè)以及WebView與javascript 的數(shù)據(jù)交互中。

        1、WebView 的定義及設(shè)置:

        首先要在XML 布局文件中定義WebView控件;然后在程序中裝載這個(gè)控件,設(shè)置屬性;最后通過(guò)loadUrl 方法實(shí)現(xiàn)網(wǎng)頁(yè)的載入。

        WebView 常用的類有:WebSettings、WebViewClient、WebChromeClient.
        WebSettings 用來(lái)設(shè)置WebView的一些屬性狀態(tài),如:
        // 設(shè)置可以訪問(wèn)文件
        webSettings.setAllowFileAccess(true);
        // 設(shè)置支持縮放
        webSettings.setBuiltInZoomControls(true);

        WebViewClient 專門輔助WebView處理各種通知、請(qǐng)求等事件類,通過(guò)WebView 的setWebViewClient 方法來(lái)指定一個(gè)WebViewClient 對(duì)象,如下:
        webView.setWebViewClient(newWebViewClient()
        {
        public boolean shouldOverrideUrlLoading(WebViewview,String url){
        view.loadUrl(url);
        return true;
        }
        })

        WebChromeClient 類專門用來(lái)輔助WebView對(duì)話框、網(wǎng)站圖標(biāo)、網(wǎng)站Title、加載進(jìn)度等。使用方法如下:
        webView.setWebChromeClient(newWebChromeClient()
        {
        @Override
        // 該方法為處理javascript 中的alert 事件
        public boolean onJsAlert (WebView view,String url,Stringmessage,
        JsResult result){
        // TODO Auto- generated method stub
        return super.onJsAlert(view,url,message,result);
        });
        設(shè)置完WebView后主要工作就是Html 網(wǎng)頁(yè)的編寫。

        2、編寫Html 網(wǎng)頁(yè)實(shí)現(xiàn)線路規(guī)劃:

        線路規(guī)劃的前提是必須要指定起始地址以及出行方式,本系統(tǒng)用戶是通過(guò)在Activity 中輸入地址和選擇出行方式來(lái)向系統(tǒng)提交信息。WebView 必須從應(yīng)用中獲取信息,然后發(fā)送給Html,供javascript 調(diào)用并實(shí)現(xiàn)導(dǎo)航。
        在android 應(yīng)用端,定義一個(gè)類保存用戶輸入的起始地址的經(jīng)緯度信息:

        // 在javascript 腳本中調(diào)用得到LatlngData 對(duì)象
        public LatlngData getLatlngData()
        { return latlngData;
        }
        /* 定義一個(gè)latlngData 類,保存經(jīng)緯度信息,經(jīng)緯度由Geocoder.getFromLocationNAME()方法按照用戶輸入地址解析而得到。*/


        關(guān)鍵詞: 智能手機(jī) Google Maps

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉