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

          新聞中心

          EEPW首頁 > 嵌入式系統(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 來源:網(wǎng)絡(luò) 收藏

          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ù)能夠?yàn)榫€路規(guī)劃所接受,代碼如下:
          var latlngData = window.demo.LatlngDataInterface();

          // 獲取起點(diǎn)和終點(diǎn)位置的經(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 對象計(jì)算路線(使用各種交通方式)。
          此對象與 API Directions Service 進(jìn)行通信,該服務(wù)將接收路線請求并傳回計(jì)算結(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);
          }
          });
          }

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

          圖3 最終效果圖

          六、結(jié)束語

          導(dǎo)航應(yīng)用無疑將會有廣闊的市場前景,能夠?yàn)橛脩籼峁└嘤杏眯畔⒌膶?dǎo)航軟件將是未來該應(yīng)用方向的必然趨勢, 作為最早的網(wǎng)上電子地圖服務(wù),其強(qiáng)大的功能和開放的API ,使得我們能夠在其基礎(chǔ)上二次開發(fā)出很好的應(yīng)用。具有很大的商用價(jià)值。該系統(tǒng)還存在網(wǎng)頁載入速度較慢、語音提示功能等問題,還有待進(jìn)一步研究和開發(fā)。

          上一頁 1 2 3 下一頁

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

          評論


          相關(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); })();