zoukankan      html  css  js  c++  java
  • 百度地图学习(Ⅰ)-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

  • 相关阅读:
    关于回调函数的初探
    细节决定成败
    数据的导航与跳转
    如何在同一页面显示父子表的内容
    从Request到Response之间的所有事件发生的顺序
    如何更改网站的一些公共数据
    如何实现计数器
    DataTable.Select方法
    登出代码
    如何构建自定义控件
  • 原文地址:https://www.cnblogs.com/boy1025/p/4353358.html
Copyright © 2011-2022 走看看