Android--第三方百度地图

一,第三方SDK

1.登陆百度SDK官方网站 https://lbsyun.baidu.com/

2.注册账号->申请开发者认证->注册应用

2.1注册应用

在这里插入图片描述
开发版本密匙口令默认:android
在这里插入图片描述
上线版本开发口令自己设置jks里设置密码(别名设置的是android jks文件要粘贴到相应位置)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.下载SDK,下载demo ->查看文档

在这里插入图片描述
在这里插入图片描述

二,实现功能

1.引入基本地图功能

1.1导包

在这里插入图片描述

1.2配置文件

在这里插入图片描述
在这里插入图片描述
防混淆 minifyEnabled true 要改为ture
在这里插入图片描述

1.3设置AndroidManifest(权限和引入)

在这里插入图片描述
在这里插入图片描述
###1.4两个类

public class MainActivity extends AppCompatActivity {
    private BaiduMap mMap;
    private MapView mMapView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mMapView = findViewById(R.id.bmapView);
        mMap = mMapView.getMap();
        mMap.setMapStatus(MapStatusUpdateFactory.zoomTo(15f));
        // 开启定位图层
        mMap.setMyLocationEnabled(true);

}
@Override
protected void onDestroy() {
    super.onDestroy();
    mMapView.onDestroy();
}

@Override
protected void onPause() {
    super.onPause();
    mMapView.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    mMapView.onResume();
}
---------------------------------------------------------------------
public class BaiduMapApplication extends Application {

@Override
public void onCreate() {
    super.onCreate();

    //在使用SDK各组件之前初始化context信息,传入ApplicationContext
    SDKInitializer.initialize(this);
    //自4.3.0起,百度地图SDK所有接口均支持百度坐标和国测局坐标,用此方法设置您使用的坐标类型.
    //包括BD09LL和GCJ02两种坐标,默认是BD09LL坐标。
    SDKInitializer.setCoordType(CoordType.BD09LL);
    }
}

2.修改地图类型

package com.example.mr.zbaidudome;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

import com.baidu.mapapi.map.BaiduMap;
import com.baidu.mapapi.map.MapStatusUpdateFactory;
import com.baidu.mapapi.map.MapView;

public class MainActivity extends AppCompatActivity {
    private BaiduMap mMap;
    private MapView mMapView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mMapView = findViewById(R.id.bmapView);
        mMap = mMapView.getMap();
        mMap.setMapStatus(MapStatusUpdateFactory.zoomTo(15f));
        // 开启定位图层
        mMap.setMyLocationEnabled(true);

}
@Override
protected void onDestroy() {
    super.onDestroy();
    mMapView.onDestroy();
}

@Override
protected void onPause() {
    super.onPause();
    mMapView.onPause();
}

@Override
protected void onResume() {
    super.onResume();
    mMapView.onResume();
}

private static final int ITEM_ID_NORMAL_MAP = 101;
private static final int ITEM_ID_SATELLITE_MAP = 102;
private static final int ITEM_LOCATION = 103;
private static final int ITEM_SHOW_SHOPS = 104;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    menu.add(Menu.NONE, ITEM_ID_NORMAL_MAP, 0, "切换为普通地图");
    menu.add(Menu.NONE, ITEM_ID_SATELLITE_MAP, 0, "切换为卫星地图");
    menu.add(Menu.NONE, ITEM_LOCATION, 0, "定位到我的位置");
    menu.add(Menu.NONE, ITEM_SHOW_SHOPS, 0, "显示所有商家");
    return super.onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case ITEM_ID_NORMAL_MAP:
            mMap.setMapType(BaiduMap.MAP_TYPE_NORMAL);
            break;
        case ITEM_ID_SATELLITE_MAP:
            mMap.setMapType(BaiduMap.MAP_TYPE_SATELLITE);
            break;
    }
    return super.onOptionsItemSelected(item);
}

}

3.定位当前位置

4.方向传感器指路

5.显示附近商家

猜你喜欢

转载自blog.csdn.net/weixin_43609490/article/details/87877966