百度地圖SDK應用與開發(一)

    1、建立應用

    一、進入http://developer.baidu.com/map/index.php?title=androidsdk百度SDK官網,要先註冊的喲;php

     二、點擊「獲取密鑰」進入建立應用java

    

    這裏建立的應用名爲「TestBaiduMap」,注意這裏安全碼的填寫,須要「數字簽名+;+包名」,使用eclipse開發工具的能夠按照 Eclipse->Window->Preference->Android->Build路徑獲取SHA1數字簽名:android

    填寫安全碼時注意格式和相關包名,這裏咱們使用了「com.test.baidumap」:api

    

    建立項目成功後顯示以下:安全

    建立項目成功後,須要去「相關下載」裏面下載SDK開發包,這裏咱們暫時下載以下:app

    

    解壓相關包能夠獲得以下文件:eclipse

    

    咱們把這些文件拷貝到新建eclipse工程的libs下,這裏注意項目的包名必須和建立項目裏的包名一致:ide

    

    注意工程配置,將「訪問應用(AK)」配置到AndroidMainfest.xml裏,本工程配置以下:工具

    

    至此,整個工程基礎配置完畢,能夠參考http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap配置完整個工程。開發工具

    2、代碼開發

    一、功能實現:加載百度地圖,設置地圖標尺,切換視圖(衛星和普通),打開實時交通。

     二、實現效果圖:

    三、界面實現:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >
    <com.baidu.mapapi.map.MapView
        android:id="@+id/bmapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true" />
</RelativeLayout>

    三、代碼實現:

 package com.test.baidumap;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdate;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;
public class MainActivity extends Activity {
 private MapView mapView;
 private BaiduMap baiduMap;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  // 在使用SDK各組件以前初始化context信息,傳入ApplicationContext
  // 注意該方法要再setContentView方法以前實現
  SDKInitializer.initialize(getApplicationContext());
  // requestWindowFeature(Window.FEATURE_NO_TITLE);// 去除標題
  setContentView(R.layout.activity_main);
  mapView = (MapView) findViewById(R.id.bmapView);
  baiduMap = mapView.getMap();
  MapStatusUpdate msu = MapStatusUpdateFactory.zoomTo(15.0f);
  baiduMap.setMapStatus(msu);// 設置地圖標尺
 }
 @Override
 public boolean onCreateOptionsMenu(Menu menu) {
  getMenuInflater().inflate(R.menu.main, menu);
  return true;
 }
 @Override
 public boolean onOptionsItemSelected(MenuItem item) {
  switch (item.getItemId()) {
  case R.id.map_common:
   baiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
   break;
  case R.id.map_site:
   baiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
   break;
  case R.id.map_traffic:
   if (baiduMap.isTrafficEnabled()) {
    baiduMap.setTrafficEnabled(false);
    item.setTitle("實時交通(off)");
   } else {
    baiduMap.setTrafficEnabled(true);
    item.setTitle("實時交通(on)");
   }
   break;
  }
  return super.onOptionsItemSelected(item);
 }
 @Override
 protected void onPause() {
  super.onPause();
  mapView.onPause();
 }
 @Override
 protected void onResume() {
  super.onResume();
  mapView.onResume();
 }
 @Override
 protected void onDestroy() {
  super.onDestroy();
  mapView.onDestroy();
 }
}

     代碼下載:http://download.csdn.net/detail/shizhao0716/8405063

相關文章
相關標籤/搜索