我也期待在还没有发布的教程。最后打败,忘记 我还是根据官方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( "第一条结果是: 名称=["+ poiname+ "] ID = ["+ idString + "] 地址=["+ 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( "第一条结果是: 名称=["+ poiname+ "] ID = ["+ idString + "] 地址=["+ poiadd+ "]"); } //后面是具体信息 @Override public void onGetPoiDetailResult(PoiDetailResult poiDetailResult) { } }; /* 释放资源*/ @Override protected void onDestroy() { super.onDestroy(); poiSearch.destroy(); } }
点击下载源代码
版权声明:本文博客原创文章,博客,未经同意,不得转载。