<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于Google Map Api的Android導航應(yīng)用

          基于Google Map Api的Android導航應(yīng)用

          作者: 時間:2011-12-05 來源:網(wǎng)絡(luò) 收藏

            WebChromeClient 類專門用來輔助WebView對話框、網(wǎng)站圖標、網(wǎng)站Title、加載進度等。使用方法如下:

            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)頁的編寫。

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

            線路規(guī)劃的前提是必須要指定起始地址以及出行方式,本系統(tǒng)用戶是通過在Activity 中輸入地址和選擇出行方式來向系統(tǒng)提交信息。WebView 必須從應(yīng)用中獲取信息,然后發(fā)送給Html,供javascript 調(diào)用并實現(xiàn)導航。

            在android 應(yīng)用端,定義一個類保存用戶輸入的起始地址的經(jīng)緯度信息:

            // 在javascript 腳本中調(diào)用得到LatlngData 對象

            public LatlngData getLatlngData()

            { return latlngData;

            }

            /* 定義一個latlngData 類,保存經(jīng)緯度信息,經(jīng)緯度由Geocoder.getFromLocationNAME()方法按照用戶輸入地址解析而得到。*/

            class LatlngData

            { String startLatlng;

            String endLatlng;

            public LatlngData()

            {

            this.startLatlng=“”;

            this.endLatlng =“”;

            }

            public String getStartLatlng()

            {

            return startLatlng;

            }

            public String getEndLatlng()

            {

            return endLatlng;

            }

            }

            // 通過LatlngDataInterface () 方法將數(shù)據(jù)類綁定給javascript,這樣javascript 就能夠獲// 得了用戶的數(shù)據(jù)了。

            public class DataJavaScriptInterface{

            public LatlngData LatlngDataInterface(){

            latlngData = getLatlngData();

            return latlngData;

            }

            在Html 網(wǎng)頁中編寫以下代碼獲得數(shù)據(jù),并通過格式轉(zhuǎn)換使數(shù)據(jù)能夠為線路規(guī)劃所接受,代碼如下:

            var latlngData = window.demo.LatlngDataInterface();

            // 獲取起點和終點位置的經(jīng)緯度信息為String 格式

            startLatlng = latlngData.getStartLatlng();

            endLatlng = latlngData.getEndLatlng();

            // 把String 格式經(jīng)緯度轉(zhuǎn)換為Float 格式

            startLat = parseFloat(startLatlng.substring(0,8));

            startLng = parseFloat(startLatlng.substring(10,18));

            endLat = parseFloat(endLatlng.substring(0,8));

            endLng = parseFloat(endLatlng.substring(10,18));

            通過DirectionsService 對象計算路線(使用各種交通方式)。

            此對象與 s API Directions Service 進行通信,該服務(wù)將接收路線請求并傳回計算結(jié)果。可以自行處理這些路線結(jié)果,也可以使用DirectionsRenderer 對象渲染這些結(jié)果:

            function calcRoute(){

            start = beginLatlng;

            end = endLatlng;

            var request = {

            origin:start,

            destination:end,

            travelMode: google.maps.DirectionsTravelMode.DRIVING

            };

            directionsService.route(request,function(response,status){

            if(status == google.maps.DirectionsStatus.OK){

            var warnings = document.getElementById(“warnings_panel”);

            warnings.innerHTML = “” + response.routes [0].warnings + “”;

            directionsDisplay.setDirections(response);

            showSteps(response);

            }

            });

            }

            通過上述的操作我們基本上實現(xiàn)了線路規(guī)劃,在此基礎(chǔ)上我們能夠添加更多的功能,如語音導航、路況提示、周邊配套設(shè)施提示等,使用戶獲得更好的用戶體驗。最終效果如下圖所示:

            圖3 最終效果圖

            圖3 最終效果圖

            六、結(jié)束語

            智能手機導航應(yīng)用無疑將會有廣闊的市場前景,能夠為用戶提供更多有用信息的導航軟件將是未來該應(yīng)用方向的必然趨勢, s 作為最早的網(wǎng)上電子地圖服務(wù),其強大的功能和開放的API ,使得我們能夠在其基礎(chǔ)上二次開發(fā)出很好的應(yīng)用。具有很大的商用價值。該系統(tǒng)還存在網(wǎng)頁載入速度較慢、語音提示功能等問題,還有待進一步研究和開發(fā)。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Android Google Api Map

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();