android百度地图例子,Android使用百度地图的注意点

/*

http://my.oschina.net/lifj/blog/283063

*/

0.不要参考官方的网页示例

很奇怪,他的官网的使用示例更新不及时。

下载api的时候,里面有一个demo。最好参看这个。

1.需要申请key。并且在Manifest中申明这个key:

在application标签中声明meta-data。

android:name="com.baidu.lbsapi.API_KEY"

android:value="das213jkad98321oklasme2i13oja" >

。。。。。

2. 在代码中使用了百度地图,同时也使用了混淆代码。

工程目录下的:proguard-project.txt 中的末尾添加如下文字:

-keep class com.baidu.**{*;}

-keep class vi.com.gdi.bgl.**{*;}

如果不添加,会在安装了app后,使用百度地图的时候有错误,应该是baidu 之类的字被混淆了,然后找不到了:

java.lang.NoClassDefFoundError: com/baidu/platform/comjni/engine/AppEngine

3. PoiSearch 这个类,按照官方文档是有的,但是在2.4.2的api中,已经找不到了。改用MKSearch类。

使用方法如下:

private BMapManager mapManager = null;

private MKSearch mkSearch = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mapManager = new BMapManager(getApplication());

mkSearch = new MKSearch();

mkSearch.init(mapManager, new MySearchListener());

mkSearch.poiSearchNearBy("美食", new GeoPoint((int)(39.99537*1E6), (int)(116.311878*1E6)), 2000);

}

public class MySearchListener implements MKSearchListener {

@Override

public void onGetAddrResult(MKAddrInfo arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetBusDetailResult(MKBusLineResult arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetDrivingRouteResult(MKDrivingRouteResult arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetPoiDetailSearchResult(int arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetPoiResult(MKPoiResult mkPoiResult, int type, int error) {

// TODO Auto-generated method stub

if(error !=0 || mkPoiResult == null) {

Toast.makeText(MainActivity.this, "抱歉,未找到结果", Toast.LENGTH_LONG).show();

return;

}

//将Poi结果显示到地图上

PoiOverlay poiOverlay = new PoiOverlay(MainActivity.this,mapView );

poiOverlay.setData(mkPoiResult.getAllPoi());

mapView.getOverlays().clear();

mapView.getOverlays().add(poiOverlay);

mapView.refresh();

for(MKPoiInfo mkPoiInfo : mkPoiResult.getAllPoi()) {

if(mkPoiInfo.pt != null) {

mapView.getController().animateTo(mkPoiInfo.pt);

break;

}

}

}

@Override

public void onGetShareUrlResult(MKShareUrlResult arg0, int arg1,

int arg2) {

// TODO Auto-generated method stub

}

@Override

public void onGetSuggestionResult(MKSuggestionResult arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetTransitRouteResult(MKTransitRouteResult arg0, int arg1) {

// TODO Auto-generated method stub

}

@Override

public void onGetWalkingRouteResult(MKWalkingRouteResult arg0, int arg1) {

// TODO Auto-generated method stub

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值