我的百度地图开发第二天(构建一个查询点,通过查询KFC)
来源:互联网 发布:淘宝企业店铺纳税问题 编辑:程序博客网 时间:2024/04/29 01:07
package com.android.mybaidu;
import android.os.Bundle;
import android.widget.Toast;
import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MKAddrInfo;
import com.baidu.mapapi.MKBusLineResult;
import com.baidu.mapapi.MKDrivingRouteResult;
import com.baidu.mapapi.MKGeneralListener;
import com.baidu.mapapi.MKPoiResult;
import com.baidu.mapapi.MKSearch;
import com.baidu.mapapi.MKSearchListener;
import com.baidu.mapapi.MKSuggestionResult;
import com.baidu.mapapi.MKTransitRouteResult;
import com.baidu.mapapi.MKWalkingRouteResult;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapController;
import com.baidu.mapapi.MapView;
import com.baidu.mapapi.PoiOverlay;
public class Main extends MapActivity {
/** Called when the activity is first created. */
// 添加百度地图的相关控件
private MapView mapView;
private BMapManager bMapManager;// 加载地图的引擎
// 百度地图的key
// 在百度地图上添加一些控件,比如是放大或者缩小的控件
private MapController mapController;
private String keyString="P56aGeQVKbcUexzEGRdHGG8j";
private MKSearch mkSearch;//用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mapView = (MapView) this.findViewById(R.id.bmapView);
bMapManager = new BMapManager(Main.this);
// 必须要加载key
bMapManager.init(keyString, new MKGeneralListener() {
@Override
public void onGetPermissionState(int arg0) {
// TODO Auto-generated method stub
if (arg0 == 300) {
Toast.makeText(Main.this, "输入的Key有错!请核实!!", 1).show();
}
}
@Override
public void onGetNetworkState(int arg0) {
// TODO Auto-generated method stub
}
});
/*initMapActivity(arg0)是MapActivity的一个方法,
* MapActivity管理显示MapView中Activity 处理逻辑的基础类,
* initMapActivity初始化这个类
*/
this.initMapActivity(bMapManager);
mkSearch=new MKSearch();
mkSearch.init(bMapManager, new MySearchListener() );
mapView.getController().setCenter(new GeoPoint((int) (32.574 * 1E6),
(int) (116.785 * 1E6)));
//第一个参数是查询的名称,第二个参数是构建一个GeoPoint点,第三个参数是查询的半径
mkSearch.poiSearchNearBy("KFC", new GeoPoint((int) (32.574 * 1E6),
(int) (116.785 * 1E6)), 5000);
}
public class MySearchListener implements MKSearchListener{
public MySearchListener(){
}
@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 onGetPoiResult(MKPoiResult arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
if (arg0 == null) {
return;
}
//构建的一个查询点
PoiOverlay poiOverlay=new PoiOverlay(Main.this, mapView);
poiOverlay.setData(arg0.getAllPoi());//获得符合条件的点
mapView.getOverlays().add(poiOverlay);
mapView.invalidate();//刷新地图
}
@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
}
}
@Override
protected void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if (bMapManager != null) {
bMapManager.destroy();
bMapManager = null;
}
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (bMapManager != null) {
bMapManager.start();
}
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
if (bMapManager != null) {
bMapManager.stop();
}
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
主要知识点:
(1)用于位置检索、周边检索、范围检索、公交检索、驾乘检索、步行检索:
private MKSearch mkSearch;
mkSearch=new MKSearch();
(2)加载MKSearchListener接口,该接口返回poi搜索,公交搜索,驾乘路线,步行路线结果:
mkSearch.init(bMapManager, new MKSearchListener(){。。。}; );
(3)第一个参数是查询的名称,第二个参数是构建一个GeoPoint点,第三个参数是查询的半径:
mkSearch.poiSearchNearBy("KFC", new GeoPoint((int) (32.574 * 1E6), (int) (116.785 * 1E6)), 5000);
- 我的百度地图开发第二天(构建一个查询点,通过查询KFC)
- 百度地图开发第三天(起始点和终点的路线查询)
- 百度地图开发第四天(公交路线查询)
- 快速查询百度地图坐标点
- 百度地图的反地址解析(通过经纬度查询地址信息)
- 百度地图开发第五天(649公交线路查询)
- 百度地图 公交线路查询
- 百度地图查询标记
- 百度地图简要demo--关键字查询,点定位
- 百度地图查询视野范围内的建筑物(二)
- 百度地图查询视野范围内的建筑物
- 百度地图IP对应的API查询
- 利用百度地图通过位置名称查询经纬度方法总结
- 通过百度API,搜索地名,实现地图和经纬度的查询
- (四)Android百度公交开发—百度地图API之根据经纬度查询地址信息
- 百度地图查询周围建筑
- 查询百度地图附近sql
- 百度地图 ip查询 service
- BusyBox tftp 的使用
- java与.net平台进行的分析和看法
- 第一部分课程结束了
- Java界面 SWT基本组件——Label
- 颠倒数字相加
- 我的百度地图开发第二天(构建一个查询点,通过查询KFC)
- ZJUT1032(Fun Function)
- start from here
- SSH 中,除web层外,其它层如何取得当前Session的user对象
- 中兴U960s重装android系统
- 《洗脑术:怎样有逻辑地说服他人》读书笔记(二)
- 写视图应该要注意的问题
- 使用匿名函数在回调函数中正确访问JS循环变量
- 有感于技术出身的创业若干思考