因为毕业设计选了移动平台的公交智能规划,于是开始一点点摸索着学习Android和百度Map开发。现在的心情很复杂,因为使用第三方接口真的很苦啊!!!!!!!!!!主要的困难是你不知道哪里少了点什么或多了点什么。。。于是满世界百度google。。。。
说一说困扰了我几天的POI检索吧。。。
从一开始,我就下载的最新的SDK和sampleDemo,然而,我在我的AS上官方Demo跑不起来,跑不起来,死活跑不起来。
于是,我新建一个新项目,申请Key,添加jar包、so库,然而,还是不行。总是少了几个类文件,知道我看到这个。。。
我仔细一看。。。
好吧,你厉害,我乖乖到官方Demo里找到这个BaiduLBS_AndroidSDK_Sample\BaiduMap_AndroidSDK_v4.2.1_Sample\BaiduMapsApiASDemo\app\src\main\java\com\baidu\mapapi\overlayutil ,把overlayutil 文件夹整个copy到项目目录下D:\AndroidProject\BusLineSearch\app\src\main\java\com\baidu
如图:
后来,我又发现一个问题java.lang.UnsatisfiedLinkError。
后来查到这篇文章关于使用百度地图SDK报错java.lang.UnsatisfiedLinkError的解决办法。
将所有的armeabi都放在libs文件下,然后在app下的build.gradle里加上
sourceSets {
main() {
jniLibs.srcDirs 'libs'
}
}
}
———-
后来发现还是不行,出现
java.lang.ExceptionInInitializerError
后来发现在官方BusLineSearchDemo中没有调用
SDKInitializer.initialize(this);
解决办法:
在项目目录下新建application文件,如DemoApplication,
“`
import android.app.Application;
import com.baidu.mapapi.SDKInitializer;
public class DemoApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
SDKInitializer.initialize(this);
}
}
“`
现在再运行就发现可以了,