<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于Google Map Api的Android導航應用

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

  WebChromeClient 類(lèi)專(zhuān)門(mén)用來(lái)輔助WebView對話(huà)框、網(wǎng)站圖標、網(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);

  });

  設置完WebView后主要工作就是Html 網(wǎng)頁(yè)的編寫(xiě)。

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

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

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

  // 在javascript 腳本中調用得到LatlngData 對象

  public LatlngData getLatlngData()

  { return latlngData;

  }

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

  class LatlngData

  { String startLatlng;

  String endLatlng;

  public LatlngData()

  {

  this.startLatlng=“”;

  this.endLatlng =“”;

  }

  public String getStartLatlng()

  {

  return startLatlng;

  }

  public String getEndLatlng()

  {

  return endLatlng;

  }

  }

  // 通過(guò)LatlngDataInterface () 方法將數據類(lèi)綁定給javascript,這樣javascript 就能夠獲// 得了用戶(hù)的數據了。

  public class DataJavaScriptInterface{

  public LatlngData LatlngDataInterface(){

  latlngData = getLatlngData();

  return latlngData;

  }

  在Html 網(wǎng)頁(yè)中編寫(xiě)以下代碼獲得數據,并通過(guò)格式轉換使數據能夠為線(xiàn)路規劃所接受,代碼如下:

  var latlngData = window.demo.LatlngDataInterface();

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

  startLatlng = latlngData.getStartLatlng();

  endLatlng = latlngData.getEndLatlng();

  // 把String 格式經(jīng)緯度轉換為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));

  通過(guò)DirectionsService 對象計算路線(xiàn)(使用各種交通方式)。

  此對象與 s API Directions Service 進(jìn)行通信,該服務(wù)將接收路線(xiàn)請求并傳回計算結果??梢宰孕刑幚磉@些路線(xiàn)結果,也可以使用DirectionsRenderer 對象渲染這些結果:

  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);

  }

  });

  }

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

  圖3 最終效果圖

  圖3 最終效果圖

  六、結束語(yǔ)

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


上一頁(yè) 1 2 下一頁(yè)

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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>