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

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

       2.Design By:Android Stdiojava

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

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

 

下面咱們來研究百度地圖:app

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

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

【3】獲得jar包以及so文件後須要進行在項目中的加載:佈局

imageeclipse的加載方式測試

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

小編使用的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

相關文章
相關標籤/搜索