百度地圖學習(Ⅰ)-Android端地圖的顯示及簡單應用


ps:(1.地圖應用一定要在真機測試;

       2.Design By:Android Stdio

         3.百度地圖官方參考鏈接(http://developer.baidu.com/map/index.php?title=androidsdk);

      4.如有不足,請指出,謝謝);

 

下面我們來研究百度地圖:

【1】首先:在使用百度地圖的時候需要得到百度地圖官方提供的AK碼,具體如何獲得,請參考(http://developer.baidu.com/map/index.php?title=androidsdk/guide/key

【2】得到AK碼以后需要下載百度官方提供的jar包以及so文件,具體請參考(http://lbsyun.baidu.com/sdk/download?selected=mapsdk_basicmap,mapsdk_searchfunction,mapsdk_lbscloudsearch,mapsdk_calculationtool

【3】得到jar包以及so文件后需要進行在項目中的加載:

imageeclipse的加載方式

------------------------------------------------華麗分割線---------------------------------------

小編使用的Android Stdio進行編寫的,所以講述一下as的加載jar包以及so文件:

【添加jar包】-image正如圖片所看,首先應該把對應的jar包放到項目的libs文件夾下,然后需要在這個項目下的image,添加這條語句:image,否則你的jar包將無法使用

【添加so文件】-小編根據搜集資料,發現有這樣一個方法,經測試可用,這個方法源自國外的Kyle Thielk的博客

imagemain文件夾下創建jinLibs,然后把armeabi復制到這個文件夾下面即可

【4】添加密鑰配置權限

image(添加密鑰)

image(配置權限)

以上代碼參考(http://developer.baidu.com/map/index.php?title=androidsdk/guide/hellobaidumap

【5】添加xml布局文件

1       <com.baidu.mapapi.map.MapView
2         android:id="@+id/bmapView"
3         android:layout_width="fill_parent"
4         android:layout_height="fill_parent"
5         android:clickable="true" />

【6】書寫java代碼(代碼實現【1.創建地圖,2.顯示衛星地圖,3.顯示實時路況】)

 1 public class MainActivity extends ActionBarActivity {
 2     private MapView mapView=null;
 3     private BaiduMap mBaiduMap=null;
 4     @Override
 5     protected void onCreate(Bundle savedInstanceState) {
 6         super.onCreate(savedInstanceState);
 7         /*
 8          *注意使用SDK各組件之前初始化Context信息,傳入ApplicationContext
 9          *注意該方法要在setContentView之前實現
10          */
11         SDKInitializer.initialize(getApplicationContext());
12         setContentView(R.layout.activity_main);
13         initView();
14 
15     }
16 
17     private void initView() {
18         mapView=(MapView)findViewById(R.id.bmapView);
19         mBaiduMap=mapView.getMap(); //從容器中得到地圖
20         MapStatusUpdate msu= MapStatusUpdateFactory.zoomTo(15.0f);  //設置地圖的起始標尺
21         mBaiduMap.setMapStatus(msu);
22     }
23 
24     @Override
25     protected void onDestroy() {
26         super.onDestroy();
27         mapView.onDestroy();
28     }
29 
30     @Override
31     protected void onResume() {
32         super.onResume();
33         mapView.onResume();
34     }
35 
36     @Override
37     protected void onPause() {
38         super.onPause();
39         mapView.onPause();
40     }
41 
42     /*
43      *上下文菜單
44      */
45     @Override
46     public boolean onCreateOptionsMenu(Menu menu) {
47         // Inflate the menu; this adds items to the action bar if it is present.
48         getMenuInflater().inflate(R.menu.menu_main, menu);
49         return true;
50     }
51     /*
52      *復寫菜單選項的點擊事件
53      */
54     @Override
55     public boolean onOptionsItemSelected(MenuItem item) {
56         switch (item.getItemId())
57         {
58             case R.id.id_map_common:
59                 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
60                 break;
61             case R.id.id_map_site:
62                 mBaiduMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
63                 break;
64             case R.id.id_map_traffic:
65                 if(mBaiduMap.isTrafficEnabled()){
66                     mBaiduMap.setTrafficEnabled(false);
67                     item.setTitle("實時交通(Off)");
68                 }else
69                 {
70                     mBaiduMap.setTrafficEnabled(true);
71                     item.setTitle("實時交通(On)");
72                 }
73                 break;
74         }
75 
76         return super.onOptionsItemSelected(item);
77     }
78 }

【7】書寫menu_main.xml

    <item   android:id="@+id/id_map_common"
            android:title="@string/map_common"
            app:showAsAction="never" />
    <item   android:id="@+id/id_map_site"
            android:title="@string/map_site"
            app:showAsAction="never" />
    <item   android:id="@+id/id_map_traffic"
            android:title="@string/map_traffic"
            app:showAsAction="never" />

【8】書寫string.xml

    <string name="map_common">普通地圖</string>
    <string name="map_site">衛星地圖</string>
    <string name="map_traffic">實時交通(Off)</string>

【9】項目完成,效果圖如下:

S50320-120159S50320-120212S50320-120250S50320-120256


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM