2024年安卓最新Android百度地图——SDK版本v2,百度面试几轮能入职

学习分享

在当下这个信息共享的时代,很多资源都可以在网络上找到,只取决于你愿不愿意找或是找的方法对不对了

很多朋友不是没有资料,大多都是有几十上百个G,但是杂乱无章,不知道怎么看从哪看起,甚至是看后就忘

如果大家觉得自己在网上找的资料非常杂乱、不成体系的话,我也分享一套给大家,比较系统,我平常自己也会经常研读。

2021最新上万页的大厂面试真题

七大模块学习资料:如NDK模块开发、Android框架体系架构…

只有系统,有方向的学习,才能在段时间内迅速提高自己的技术。

这份体系学习笔记,适应人群:
第一,学习知识比较碎片化,没有合理的学习路线与进阶方向。
第二,开发几年,不知道如何进阶更进一步,比较迷茫。
第三,到了合适的年纪,后续不知道该如何发展,转型管理,还是加强技术研究。如果你有需要,我这里恰好有为什么,不来领取!说不定能改变你现在的状态呢!
由于文章内容比较多,篇幅不允许,部分未展示内容以截图方式展示 。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

        public void onGetPermissionState(int iError) {

            if (iError == MKEvent.ERROR_PERMISSION_DENIED) {

                // 授权Key错误:

                Toast.makeText(BaiduMapBaseActivity.this.getApplicationContext(),

                        "请在 DemoApplication.java文件输入正确的授权Key!", Toast.LENGTH_LONG).show();

            }

        }

    });



  

              b.通过ID获取代表地图显示组件的MapView对象,并设置启用内置的缩放控件。



    mMapView = (MapView) this.findViewById(R.id.bmapsView);

    // 设置启用内置的缩放控件

    mMapView.setBuiltInZoomControls(true);



                  c.获取地图控制器对象,并设置地图的中心点及缩放级别。



      // 获取地图控制器,可以用它控制平移和缩放

      MapController mMapController = mMapView.getController();

    

    // 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)



    // 北京天安门的经纬度:39.915 * 1E6,116.404 * 1E6

    // GeoPoint mGeoPoint = new GeoPoint((int) (39.915 * 1E6), (int) (116.404 * 1E6));

    

    // 上海市浦东新区的GPS纬度经度值:31.224078,121.540419

    GeoPoint mGeoPoint = new GeoPoint(

            (int) (31.224078 * 1E6), 

            (int) (121.540419 * 1E6));

    

    // 设置地图的中心点

    mMapController.setCenter(mGeoPoint);

    // 设置地图的缩放级别。 这个值的取值范围是[3,18]。 

    mMapController.setZoom(13);



              d.重写Activity的生命周期回调方法onResume()、onPause()和onDestroy(),管理地图引擎管理类对象和显示对象生命周期。



@Override

protected void onResume() {

    mMapView.onResume();

    if (mBMapManager != null) {

        mBMapManager.start();

    }

    super.onResume();

}



@Override

protected void onPause() {

    mMapView.onPause();

    if (mBMapManager != null) {

        mBMapManager.stop();

    }

    super.onPause();

}



@Override

protected void onDestroy() {

    mMapView.destroy();

    if (mBMapManager != null) {

        mBMapManager.destroy();

        mBMapManager = null;

    }

    super.onDestroy();

}



经过以上这些步骤,加载的是上海市浦东新区地图(基础图),运行工程效果图如下:



注:基本的地图图层,包括若干个缩放级别,显示基本的地图信息,包括道路、街道、学校、公园等内容。



![](https://img-my.csdn.net/uploads/201302/10/1360479719_4643.png)



            e.在地图中显示实时交通信息示图(当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。)



  // 在地图中显示实时交通信息示

   mMapView.setTraffic(true);



         运行效果图如下:



![](https://img-my.csdn.net/uploads/201302/10/1360480078_8477.png) 



           f.显示卫星图(卫星地图是卫星拍摄的真实的地理面貌,所以卫星地图可用来检测地面的信息,你可以了解到地理位置,地形等。)



// 显示卫星图

mMapView.setSatellite(true);




运行效果图如下:



![](https://img-my.csdn.net/uploads/201302/10/1360480112_7846.png)  

完整代码如下:



package com.android.baidu.map;

import android.app.Activity;

import android.os.Bundle;

import android.widget.Toast;

import com.baidu.mapapi.BMapManager;

import com.baidu.mapapi.MKGeneralListener;

import com.baidu.mapapi.map.MKEvent;

import com.baidu.mapapi.map.MapController;

import com.baidu.mapapi.map.MapView;

import com.baidu.platform.comapi.basestruct.GeoPoint;

/**

  • 基本的地图图层,包括若干个缩放级别,显示基本的地图信息,包括道路、街道、学校、公园等内容。

  • @author android_ls

*/

public class BaiduMapBaseActivity extends Activity {

/**地图引擎管理类*/

private BMapManager mBMapManager = null;



/**显示地图的View*/

private MapView mMapView = null;



/**

 * 经研究发现在申请KEY时:应用名称一定要写成my_app_应用名(也就是说"my_app_"是必须要有的)。

 * 百度地图SDK提供的服务是免费的,接口无使用次数限制。您需先申请密钥(key),才可使用该套SDK。

 * */

public static final String BAIDU_MAP_KEY = "07418AEC69BAAB7104C6230A6120C580DFFAEEBB";



@Override

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);



    // 注意:请在调用setContentView前初始化BMapManager对象,否则会报错

    mBMapManager = new BMapManager(this.getApplicationContext());

    mBMapManager.init(BAIDU_MAP_KEY, new MKGeneralListener() {



        @Override

        public void onGetNetworkState(int iError) {

            if (iError == MKEvent.ERROR_NETWORK_CONNECT) {

                Toast.makeText(BaiduMapBaseActivity.this.getApplicationContext(),

                        "您的网络出错啦!", 

                        Toast.LENGTH_LONG).show();

            }

        }



        @Override

        public void onGetPermissionState(int iError) {

            if (iError == MKEvent.ERROR_PERMISSION_DENIED) {

                // 授权Key错误:

                Toast.makeText(BaiduMapBaseActivity.this.getApplicationContext(), 

                        "请在 DemoApplication.java文件输入正确的授权Key!", 

                        Toast.LENGTH_LONG).show();

            }

        }

    });



    setContentView(R.layout.main);



    mMapView = (MapView) this.findViewById(R.id.bmapsView);

    // 设置启用内置的缩放控件

    mMapView.setBuiltInZoomControls(true);



    // 获取地图控制器,可以用它控制平移和缩放

    MapController mMapController = mMapView.getController();



    // 用给定的经纬度构造一个GeoPoint,单位是微度 (度 * 1E6)



    // 北京天安门的经纬度:39.915 * 1E6,116.404 * 1E6

   /* GeoPoint mGeoPoint = new GeoPoint(

            (int) (39.915 * 1E6), 

            (int) (116.404 * 1E6));*/



    // 上海市浦东新区的GPS纬度经度值:31.224078,121.540419

    GeoPoint mGeoPoint = new GeoPoint(

            (int) (31.224078 * 1E6), 

            (int) (121.540419 * 1E6));



    // 设置地图的中心点

    mMapController.setCenter(mGeoPoint);

    // 设置地图的缩放级别。 这个值的取值范围是[3,18]。 

    mMapController.setZoom(13);



    // 当前,全国范围内已支持多个城市实时路况查询,且会陆续开通其他城市。

    // 在地图中显示实时交通信息示

    // mMapView.setTraffic(true);



    // 卫星地图是卫星拍摄的真实的地理面貌,所以卫星地图可用来检测地面的信息,你可以了解到地理位置,地形等。

    // 显示卫星图,屏掉 mMapView.setTraffic(true);这行代码。

    mMapView.setSatellite(true);



}



// 重写以下方法,管理API

@Override

protected void onResume() {

    mMapView.onResume();

    if (mBMapManager != null) {

        mBMapManager.start();

    }

    super.onResume();

}



@Override

protected void onPause() {

    mMapView.onPause();

    if (mBMapManager != null) {

        mBMapManager.stop();

    }

    super.onPause();

}



@Override

总结

Android架构学习进阶是一条漫长而艰苦的道路,不能靠一时激情,更不是熬几天几夜就能学好的,必须养成平时努力学习的习惯。所以:贵在坚持!

上面分享的字节跳动公司2021年的面试真题解析大全,笔者还把一线互联网企业主流面试技术要点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

]

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值