首页>代码>android 百度地图Demo>/BaiduMapApiDemo/src/com/baidu/mapapi/demo/CloudSearchDemo.java
package com.baidu.mapapi.demo;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Toast;

import com.baidu.mapapi.BMapManager;
import com.baidu.mapapi.Bounds;
import com.baidu.mapapi.GeoPoint;
import com.baidu.mapapi.MapActivity;
import com.baidu.mapapi.MapView;
import com.baidu.mapapi.cloud.BoundsSearchInfo;
import com.baidu.mapapi.cloud.DetailResult;
import com.baidu.mapapi.cloud.DetailSearchInfo;
import com.baidu.mapapi.cloud.GeoSearchListener;
import com.baidu.mapapi.cloud.GeoSearchManager;
import com.baidu.mapapi.cloud.GeoSearchResult;
import com.baidu.mapapi.cloud.NearbySearchInfo;
import com.baidu.mapapi.cloud.RegionSearchInfo;

public class CloudSearchDemo extends MapActivity implements GeoSearchListener{
    
    MapView mMapView;
    
    @Override
    protected void onCreate(Bundle icicle) {
        // TODO Auto-generated method stub
        super.onCreate(icicle);
        setContentView(R.layout.lbssearch);
        
        
        BMapApiDemoApp app = (BMapApiDemoApp)this.getApplication();
        if (app.mBMapMan == null) {
            app.mBMapMan = new BMapManager(getApplication());
            app.mBMapMan.init(app.mStrKey, new BMapApiDemoApp.MyGeneralListener());
        }
        app.mBMapMan.start();
        // 如果使用地图SDK,请初始化地图Activity
        super.initMapActivity(app.mBMapMan);
        
        GeoSearchManager.getInstance().init(app.mBMapMan, CloudSearchDemo.this);
        
        mMapView = (MapView)findViewById(R.id.bmapView);
        
        findViewById(R.id.regionSearch).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                RegionSearchInfo r = new RegionSearchInfo();
                r.queryWords = "北京市五中";
                r.ak = "输入ak";
                r.cityName = "北京";
                r.filter.put("databox", 848);
                r.scope = 2;
                GeoSearchManager.getInstance().searchRegion(r);
            }
        });
        findViewById(R.id.nearbySearch).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                NearbySearchInfo r = new NearbySearchInfo();
                r.queryWords = "北京";
                r.ak = "输入ak";
                r.location = new GeoPoint(39956948, 116412214);
                r.radius = 10000000;
                r.filter.put("databox", 848);
                r.scope = 2;
                GeoSearchManager.getInstance().searchNearby(r);
            }
        });
        
        
        findViewById(R.id.boundsSearch).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                BoundsSearchInfo r = new BoundsSearchInfo();
                r.queryWords = "五中";
                r.ak = "输入ak";
                r.bounds = new Bounds(39843895,116402214,40956948,116431457);
                r.filter.put("databox", 848);
                r.scope = 2;
                GeoSearchManager.getInstance().searchBounds(r);
            }
        });
        findViewById(R.id.detailsSearch).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                DetailSearchInfo r = new DetailSearchInfo();
                r.id = 81217;
                r.ak = "输入ak";
                r.scope = 2;
                GeoSearchManager.getInstance().searchDetail(r);
            }
        });
    }
    
    @Override
    protected boolean isRouteDisplayed() {
        return false;
    }

    @Override
    public void onGetGeoDetailsResult(DetailResult result, int type, int iError) {
        if (result != null) {
            if (result.content != null) {
                Toast.makeText(CloudSearchDemo.this, result.content.name, Toast.LENGTH_SHORT).show();
            }
            else {
                Toast.makeText(CloudSearchDemo.this, "status:" + result.status, Toast.LENGTH_SHORT).show();
            }
        }
    }
    
    @Override
    public void onGetGeoResult(GeoSearchResult result, int type, int iError) {
        if (result != null && result.poiList!= null && result.poiList.size() > 0) {
            CloudOverlay poiOverlay = new CloudOverlay(this);
            poiOverlay.setData(result.poiList);
            mMapView.getOverlays().clear();
            mMapView.getOverlays().add(poiOverlay);
            mMapView.invalidate();
            mMapView.getController().animateTo(new GeoPoint((int)(result.poiList.get(0).latitude * 1e6), (int)(result.poiList.get(0).longitude * 1e6)));
        }
    }
}
最近下载更多
tianshi  LV7 2023年10月19日
我喔沃窝握卧  LV1 2022年11月26日
唐家俊  LV2 2022年6月8日
ysy121788  LV1 2021年9月17日
Little already  LV3 2021年6月22日
Xpyxpy  LV2 2021年5月21日
863355189  LV5 2021年5月13日
kkxfmmb 2021年4月2日
暂无贡献等级
a1017514773  LV6 2021年2月6日
木木沐  LV7 2020年11月19日
最近浏览更多
wjs-zuizui 10月19日
暂无贡献等级
shis_y  LV1 8月23日
2636804923  LV6 6月20日
亦是此间少年  LV3 3月7日
tianshi  LV7 2023年10月19日
wfydwang 2023年9月18日
暂无贡献等级
Yanguu 2023年7月11日
暂无贡献等级
倾城之恋1  LV5 2023年5月21日
dsj52081 2023年5月19日
暂无贡献等级
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友