我也期待在还没有发布的教程。最后打败,忘记 我还是根据官方API办,尼玛丽这显示了如何低我的智商了,此尼玛丽猜到我还要写代码。
好啦,关于 地图配置我就不细说了。官方写的非常清楚,我会在后面把源码放上面
布局是一个 button 点击 进行检索。提交数据到百度 去查询数据,然后返回数据 textview显示
開始看java代码吧
这一句话一定要写 我就由于这句话错了
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
———————————————————————第一步,创建POI检索实例—————————————————————————
private void initMap() {
poiSearch = PoiSearch.newInstance();
poiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener );
}
思路 各位兄弟 你就把这个PoiSearch当作 button 后面那个就是一个点击事件 。既然是点击事件必然会有一个 回调接口 。
OnGetPoiSearchResultListener onGetPoiSearchResultListener = new OnGetPoiSearchResultListener() {}
回调方法我在后面再说
--------------------------------------------------------第二步 组件实例化-------------------------------------------------------------------
private void iniview() {
button1 = (Button) findViewById(R.id.button1);
search_result = (TextView) findViewById(R.id.result);
button1.setOnClickListener(this);
}
对button的点击事件处理 这里才是重点
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
poiSearch.searchInCity((new PoiCitySearchOption())
.city("北京")
.keyword("美食")
.pageNum(10));
break;
default:
break;
}
}
<span style="font-size:14px;color:#CC0000;">发起检索请求;</span>
点击以后 让poisearch 去查询结果 Poi 搜索 北京城市 关键词 美食 返回10条数据
接着就会去联网——————
-----------------------------------------------第四步 对于回调数据处理 以及展示
OnGetPoiSearchResultListener onGetPoiSearchResultListener = new OnGetPoiSearchResultListener() {
@Override
public void onGetPoiResult(PoiResult result) {
System.out.println(result);
//第一条数据的名字
String poiname = result.getAllPoi().get(0).name;
//第一条数据的地址
String poiadd = result.getAllPoi().get(0).address;
//第一条id
String idString = result.getAllPoi().get(0).uid;
search_result.setText(
"第一条结果是:\n名称=["+
poiname+
"]\nID = ["+
idString
+ "] \n地址=["+
poiadd+
"]");
}
//后面是具体信息
@Override
public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {
}
};
所有代码
package com.example.maptest;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.baidu.mapapi.SDKInitializer;
import com.baidu.mapapi.search.core.SearchResult;
import com.baidu.mapapi.search.poi.OnGetPoiSearchResultListener;
import com.baidu.mapapi.search.poi.PoiCitySearchOption;
import com.baidu.mapapi.search.poi.PoiDetailResult;
import com.baidu.mapapi.search.poi.PoiResult;
import com.baidu.mapapi.search.poi.PoiSearch;
/**
* 此demo用来展示怎样进行公交线路详情检索。并使用RouteOverlay在地图上绘制 同一时候展示怎样浏览路线节点并弹出泡泡
*/
public class BusLineSearchDemo extends Activity implements OnClickListener {
private Button button1;
private PoiSearch poiSearch;
private PoiCitySearchOption poiCitySearchOption;
private TextView search_result;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
// 注意该方法要再setContentView方法之前实现
SDKInitializer.initialize(getApplicationContext());
setContentView(R.layout.activity_busline);
initMap();
iniview();
}
private void initMap() {
poiSearch = PoiSearch.newInstance();
poiSearch.setOnGetPoiSearchResultListener(onGetPoiSearchResultListener );
}
private void iniview() {
button1 = (Button) findViewById(R.id.button1);
search_result = (TextView) findViewById(R.id.result);
button1.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.button1:
poiSearch.searchInCity((new PoiCitySearchOption())
.city("北京")
.keyword("美食")
.pageNum(10));
break;
default:
break;
}
}
OnGetPoiSearchResultListener onGetPoiSearchResultListener = new OnGetPoiSearchResultListener() {
@Override
public void onGetPoiResult(PoiResult result) {
System.out.println(result);
//第一条数据的名字
String poiname = result.getAllPoi().get(0).name;
//第一条数据的地址
String poiadd = result.getAllPoi().get(0).address;
//第一条id
String idString = result.getAllPoi().get(0).uid;
search_result.setText(
"第一条结果是:\n名称=["+
poiname+
"]\nID = ["+
idString
+ "] \n地址=["+
poiadd+
"]");
}
//后面是具体信息
@Override
public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) {
}
};
/* 释放资源*/
@Override
protected void onDestroy() {
super.onDestroy();
poiSearch.destroy();
}
}
点击下载源代码
版权声明:本文博客原创文章,博客,未经同意,不得转载。
本文转自mfrbuaa博客园博客,原文链接:http://www.cnblogs.com/mfrbuaa/p/4729863.html,如需转载请自行联系原作者