android-我的百度地圖研究 - 隨心

來源:互聯網
上載者:User

1. 如何初始化百度地圖[java]BMapManager mapManager = new BMapManager(getApplication());  //mStrKey為百度應用key  mapManager.init(mStrKey, null);  // 如果使用地圖SDK,需要初始化地圖Activity  super.initMapActivity(mapManager);  //開啟百度地圖API  mapManager.start();  //mapView為百度地圖控制項MapView  mapView.setBuiltInZoomControls(false);  mapView.setClickable(true);  mapView.setEnabled(true);  // 得到MapController執行個體,該執行個體可以對百度地圖進行相關功能的設定,如設定百度地圖的放大層級、定位等  mapController = mapView.getController();  //設定顯示百度地圖的縮放層級  mapController.setZoom(15);// 最大18級,(15)  2. 開啟百度地圖的定位導航,共有兩個方法1)利用百度地圖提供的MyLocationOverlay[java]// 添加定位元影像層    MyLocationOverlay myLocationOverlay = new MyLocationOverlay(this, mapView);    // 註冊GPS位置更新的事件,讓地圖能即時顯示當前位置    myLocationOverlay.enableMyLocation();    // 開啟磁場感應感應器    myLocationOverlay.enableCompass();    mapView.getOverlays().add(myLocationOverlay);   2)利用百度地圖提供的LocationListener進行監聽我的位置的變化[java] MKLocationManager locationManager = mapManager.getLocationManager();  locationManager.requestLocationUpdates(new LocationListener() {      @Override      public void onLocationChanged(Location location) {          // TODO Auto-generated method stub           if (location != null) {            updateMyLoading(location.getLatitude(), location.getLongitude());           }      }  });    private void updateMyLoading(double latitude, double longitude){      List<overlay> o = mapView.getOverlays();      final GeoPoint pt = new GeoPoint((int) (location.getLatitude() * 1e6), (int) (location.getLongitude() * 1e6));        if (pt != null) {          o.remove(myOverItemT);          myOverItemT = getOverItemT(myLocation, pt);          o.add(myOverItemT);          mapView.invalidate();      }  }  public OverItemT getOverItemT(Drawable scenicIcon, GeoPoint geo){          //OverItemT該類我自個定義的,繼承ItemizedOverlay<overlayitem>,以來顯示我的位置的點      OverItemT overLay = new OverItemT(scenicIcon, MapSearchActivity.this, geo, view, mapView);      return overLay;  }  </overlayitem></overlay>  3)百度畫路線----待定

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.