Android百度地图使用

本文指导如何在Android应用中快速集成百度地图SDK,包括下载安装库、配置权限、布局设计、添加权限、实现地图功能等关键步骤,以及演示了一个完整的示例MainActivity。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1步:下载jar包,两个文件一个jar一个so文件

http://developer.baidu.com/map/sdkandev-download.htm

//右下角有个"lib库"

2步:工程内引入库,将so文件放在工程的libs/armeabi 下面 //没有请新建文件夹

将jar文件放入libs下面

3步:选择工程右键属性->java bulid path->libraries->add jars选择你的工程内libs下的jar(上步放入的) OK就完成了包的引用

4步:给manifest添加权限(很重要)

  1. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    
  2. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    
  3. <uses-permission android:name="android.permission.INTERNET" />    
  4. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    
  5. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    
  6. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />    
  7. <uses-permission android:name="android.permission.READ_PHONE_STATE" />    
   
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
    <uses-permission android:name="android.permission.INTERNET" />  
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

5步:布局layout 之 main.xml

 
 
  1. <?xml version="1.0" encoding="utf-8"?>   
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  3.     android:orientation="vertical"    
  4.     android:layout_width="fill_parent"    
  5.     android:layout_height="fill_parent"    
  6.     >    
  7.     <com.baidu.mapapi.MapView android:id="@+id/map_View"    
  8.         android:layout_width="fill_parent"    
  9.         android:layout_height="fill_parent"    
  10.         android:clickable="true"    
  11.     />    
  12. </LinearLayout>    
    <?xml version="1.0" encoding="utf-8"?>  
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
        android:orientation="vertical"  
        android:layout_width="fill_parent"  
        android:layout_height="fill_parent"  
        >  
        <com.baidu.mapapi.MapView android:id="@+id/map_View"  
            android:layout_width="fill_parent"  
            android:layout_height="fill_parent"  
            android:clickable="true"  
        />  
    </LinearLayout>  

6步:开发百度地图,需要申请个Key,很简单,只需几秒钟时间即可完成。 http://developer.baidu.com/map/android-mobile-apply-key.htm

7步:示例mainActivity

[java]
 
  1.     public class MainActivity extends MapActivity {    
  2.     private BMapManager mapManager;    
  3.     private MapView mapView;    
  4.     private MapController mapController;    
  5.     
  6.     @Override    
  7.     public void onCreate(Bundle savedInstanceState) {    
  8.         super.onCreate(savedInstanceState);    
  9.         setContentView(R.layout.main);    
  10.     
  11.         // init   
  12.         mapManager = new BMapManager(getApplication());    
  13.         
  14.         mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4"null); //your API key  
  15.         super.initMapActivity(mapManager);    
  16.     
  17.         mapView = (MapView) findViewById(R.id.map_View);    
  18.         // 设置地图模式为交通地图     
  19.         mapView.setTraffic(true);    
  20.         // 设置启用内置的缩放控件     
  21.         mapView.setBuiltInZoomControls(true);    
  22.     
  23.         // 用经纬度初始化中心点   
  24.         GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));    
  25.     
  26.         // 创建标记maker //有一个标注图片,没有上百度找一张,drawable里  
  27.         Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);    
  28.         // 为maker定义位置和边界     
  29.         marker.setBounds(00, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());    
  30.     
  31.         // 取得地图控制器对象,用于控制MapView    
  32.         mapController = mapView.getController();    
  33.         // 设置地图的中心     
  34.         mapController.setCenter(point);    
  35.         // 设置地图默认的缩放级别     
  36.         mapController.setZoom(12);    
  37.     }    
  38.     
  39.     @Override    
  40.     protected boolean isRouteDisplayed() {    
  41.         return false;    
  42.     }    
  43.     
  44.     @Override    
  45.     protected void onDestroy() {    
  46.         if (mapManager != null) {    
  47.             mapManager.destroy();    
  48.             mapManager = null;    
  49.         }    
  50.         super.onDestroy();    
  51.     }    
  52.     
  53.     @Override    
  54.     protected void onPause() {    
  55.         if (mapManager != null) {    
  56.             mapManager.stop();    
  57.         }    
  58.         super.onPause();    
  59.     }    
  60.     
  61.     @Override    
  62.     protected void onResume() {    
  63.         if (mapManager != null) {    
  64.             mapManager.start();    
  65.         }    
  66.         super.onResume();    
  67.     }    
  68. }    
public class MainActivity extends MapActivity {  
    private BMapManager mapManager;  
    private MapView mapView;  
    private MapController mapController;  
  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
  
        // init
        mapManager = new BMapManager(getApplication());  
      
        mapManager.init("285B415EBAB2A92293E85502150ADA7F03C777C4", null); //your API key
        super.initMapActivity(mapManager);  
  
        mapView = (MapView) findViewById(R.id.map_View);  
        // 设置地图模式为交通地图  
        mapView.setTraffic(true);  
        // 设置启用内置的缩放控件  
        mapView.setBuiltInZoomControls(true);  
  
        // 用经纬度初始化中心点
        GeoPoint point = new GeoPoint((int) (47.118440 * 1E6), (int) (87.493147 * 1E6));  
  
        // 创建标记maker //有一个标注图片,没有上百度找一张,drawable里
        Drawable marker = this.getResources().getDrawable(R.drawable.iconmarka);  
        // 为maker定义位置和边界  
        marker.setBounds(0, 0, marker.getIntrinsicWidth(), marker.getIntrinsicHeight());  
  
        // 取得地图控制器对象,用于控制MapView  
        mapController = mapView.getController();  
        // 设置地图的中心  
        mapController.setCenter(point);  
        // 设置地图默认的缩放级别  
        mapController.setZoom(12);  
    }  
  
    @Override  
    protected boolean isRouteDisplayed() {  
        return false;  
    }  
  
    @Override  
    protected void onDestroy() {  
        if (mapManager != null) {  
            mapManager.destroy();  
            mapManager = null;  
        }  
        super.onDestroy();  
    }  
  
    @Override  
    protected void onPause() {  
        if (mapManager != null) {  
            mapManager.stop();  
        }  
        super.onPause();  
    }  
  
    @Override  
    protected void onResume() {  
        if (mapManager != null) {  
            mapManager.start();  
        }  
        super.onResume();  
    }  
}  

内容概要:本文详细探讨了基于MATLAB/SIMULINK的多载波无线通信系统仿真及性能分析,重点研究了以OFDM为代表的多载波技术。文章首先介绍了OFDM的基本原理和系统组成,随后通过仿真平台分析了不同调制方式的抗干扰性能、信道估计算法对系统性能的影响以及同步技术的实现与分析。文中提供了详细的MATLAB代码实现,涵盖OFDM系统的基本仿真、信道估计算法比较、同步算法实现和不同调制方式的性能比较。此外,还讨论了信道特征、OFDM关键技术、信道估计、同步技术和系统级仿真架构,并提出了未来的改进方向,如深度学习增强、混合波形设计和硬件加速方案。; 适合人群:具备无线通信基础知识,尤其是对OFDM技术有一定了解的研究人员和技术人员;从事无线通信系统设计与开发的工程师;高校通信工程专业的高年级本科生和研究生。; 使用场景及目标:①理解OFDM系统的工作原理及其在多径信道环境下的性能表现;②掌握MATLAB/SIMULINK在无线通信系统仿真中的应用;③评估不同调制方式、信道估计算法和同步算法的优劣;④为实际OFDM系统的设计和优化提供理论依据和技术支持。; 其他说明:本文不仅提供了详细的理论分析,还附带了大量的MATLAB代码示例,便于读者动手实践。建议读者在学习过程中结合代码进行调试和实验,以加深对OFDM技术的理解。此外,文中还涉及了一些最新的研究方向和技术趋势,如AI增强和毫米波通信,为读者提供了更广阔的视野。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值