【安卓开发】连接百度地图api

来源:互联网 发布:长春数控cnc编程招聘 编辑:程序博客网 时间:2024/05/23 02:02

一、打开百度地图api官网

二、进入Android开发文档,按照文档创建应用(开发版sha1和发布版sha1可以写成一个),并下载你想要的开发包

三、解压开发包,发现里面有jar包和充满.so文件的文件夹

四、在工程目录app/src/main下创建jniLibs文件夹,把开发包中充满.so类型文件的文件夹挪进去

五、把jar包放入app/libs文件夹,并且在as页面右击jar包,选择Add As Library项,导入jar包

六、在AndroidManifest.xml文件里加入以下代码:

  <!-- 这个权限用于进行网络定位 -->    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />    <!-- 这个权限用于访问GPS定位 -->    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />    <!-- SD卡读取权限,用户写入离线定位数据 -->    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />    <!-- 允许联网 -->    <uses-permission android:name="android.permission.INTERNET" />    <!-- 获取GSM(2g)、WCDMA(联通3g)等网络状态的信息 -->    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />    <!-- 获取wifi网络状态的信息 -->    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />    <!-- 保持CPU 运转,屏幕和键盘灯有可能是关闭的,用于文件上传和下载 -->    <uses-permission android:name="android.permission.WAKE_LOCK" />    <!-- 获取sd卡写的权限,用于文件上传和下载 -->    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />    <!-- 允许读取手机状态 用于创建BmobInstallation -->    <uses-permission android:name="android.permission.READ_PHONE_STATE" />    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>
<service            android:name="com.baidu.location.f"            android:enabled="true"            android:process=":remote" />        <meta-data            android:name="com.baidu.lbsapi.API_KEY"            android:value="你申请的AK是什么,这个引号里就写什么" />

七、在相应的layout文件里面加以下代码:

<com.baidu.mapapi.map.TextureMapView        android:id="@+id/baidumap"        android:layout_width="match_parent"        android:layout_height="200dp"        android:layout_marginTop="230dp"        ></com.baidu.mapapi.map.TextureMapView>

八、在layout文件对应的activity或fragment里面加入如下代码:

fragment:

private TextureMapView mapView;
private BaiduMap mBaiduMap;
  public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {        SDKInitializer.initialize(getActivity().getApplicationContext());        View view = inflater.inflate(R.layout.activity_locate, container, false);       mapView = (TextureMapView) view.findViewById(R.id.baidumap);        mBaiduMap = mapView.getMap();        return view;    }

@Overridepublic void onResume() {    super.onResume();    mapView.onResume();}@Overridepublic void onPause() {    super.onPause();    mapView.onPause();}@Overridepublic void onDestroy() {    super.onDestroy();    mapView.onDestroy();  }
activity:
public class MainActivity extends AppCompatActivity {    private TextureMapView mapView = null;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        SDKInitializer.initialize(getApplicationContext());        setContentView(R.layout.activity_main);        mapView = (TextureMapView)findViewById(R.id.baidumap);    }    @Override    protected  void onDestroy(){        super.onDestroy();        mapView.onDestroy();    }    @Override    protected void onResume(){        super.onResume();        mapView.onResume();    }    @Override    protected void onPause(){        super.onPause();        mapView.onPause();    }}

这样就可以简单的显示地图了,默认中心点是北京。


原创粉丝点击