Android调用百度api 获取经纬度以及地图 demo你怎么可以那么坑我????

本文记录了解决使用百度地图API时遇到的BMapManager无法实例化的问题,并分享了正确的实例化方法。

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

在使用百度api获取当前经纬度的时候,使用api demo,代码一模一样,可就是报错BMapManager这玩意没法实例化,坑我呀

demo上是这么写的:

package com.stgmobile.cyt.activity.enterprise;
import android.app.Application;
import android.util.Log;
import android.widget.Toast;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.MKEvent;
import com.baidu.mapapi.MKGeneralListener;


public class BMapApp extends Application {

static BMapApp mDemoApp;

//百度MapAPI的管理类
BMapManager mBMapMan = null;

// 授权Key
// 申请地址:http://developer.baidu.com/map/android-mobile-apply-key.htm
String mStrKey = "E411350F624D8D13522D964224B5B960950BE7B2";
boolean m_bKeyRight = true;// 授权Key正确,验证通过

// 常用事件监听,用来处理通常的网络错误,授权验证错误等
static class MyGeneralListener implements MKGeneralListener {

public void onGetNetworkState(int iError) {
Log.d("MyGeneralListener", "onGetNetworkState error is "+ iError);
Toast.makeText(BMapApp.mDemoApp.getApplicationContext(), "您的网络出错啦!",
Toast.LENGTH_LONG).show();
}


@Override
public void onGetPermissionState(int iError) {
Log.d("MyGeneralListener", "onGetPermissionState error is "+ iError);
if (iError ==  MKEvent.ERROR_PERMISSION_DENIED) {
// 授权Key错误:
Toast.makeText(BMapApp.mDemoApp.getApplicationContext(), 
"请在BMapApiDemoApp.java文件输入正确的授权Key!",
Toast.LENGTH_LONG).show();
BMapApp.mDemoApp.m_bKeyRight = false;
}
}
}


@Override
    public void onCreate() {
Log.v("BMapApp", "onCreate");
mDemoApp = this;

mBMapMan = new BMapManager(this);
boolean isSuccess = mBMapMan.init(this.mStrKey, new MyGeneralListener());
// 初始化地图sdk成功,设置定位监听时间
if (isSuccess) {
   mBMapMan.getLocationManager().setNotifyInternal(10, 5);
}
else {
   // 地图sdk初始化失败,不能使用sdk
}
super.onCreate();
}


@Override
//建议在您app的退出之前调用mapadpi的destroy()函数,避免重复初始化带来的时间消耗
public void onTerminate() {
// TODO Auto-generated method stub
if (mBMapMan != null) {
mBMapMan.destroy();
mBMapMan = null;
}
super.onTerminate();
}
}


重点在红色那句话上,这样写怎么也找不到这个对象 ,以为包有问题,导了多少次了,so文件也导了   可恶。。。

要这么写mBMapMan = new BMapManager(getApplicationContext());

怎么可以这么坑我??????????为什么this就是获取不到当前的application呢





使用百度地图需要注意的几点:

1.BMapApp 文件炒过来【注意红色的哦,亲】

2.AndroidManifest.xml文件里面要配置application

3.jar包和armeabi下的so文件

4.调用的具体请看apidemo


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值