首页 > 代码库 > 百度地图遇到的问题

百度地图遇到的问题

/**
* 在地头上设置Marker标记
*/
public void setMarker(LatLng point){
setLatitude.setText(point.latitude+"");
    setLongitude.setText(point.longitude+"");
    setName.setText("");
        //在此处理点击事件  
    //构建Marker图标  
    BitmapDescriptor bitmap = BitmapDescriptorFactory  
       .fromResource(R.drawable.icon_gcoding);  
    //构建MarkerOption,用于在地图上添加Marker  
    OverlayOptions option = new MarkerOptions()  
       .position(point)  
       .icon(bitmap);  
    //在地图上添加Marker,并显示  
    mBaiduMap.clear();
    mBaiduMap.addOverlay(option); 

}





/**

*设置地图显示到指定位置

**/

public void setNowLocation(LatLng point){
//定义地图状态
        MapStatus mMapStatus = new MapStatus.Builder()
        .target(point)
        //.zoom(10)
        .build();
        //定义MapStatusUpdate对象,以便描述地图状态将要发生的变化




        MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
        //改变地图状态
        mBaiduMap.setMapStatus(mMapStatusUpdate);  

}


//输入城市和关键字找位置

PoiSearch mPoiSearch = PoiSearch.newInstance();
OnGetPoiSearchResultListener poiListener = new OnGetPoiSearchResultListener(){  
public void onGetPoiResult(PoiResult result){  
//获取POI检索结果
Log.d("TAG", "PoiResult"+result.getAllPoi().get(0).location.latitude);
Log.d("TAG", "PoiResult"+result.getAllPoi().get(0).location.longitude);
//将位置定位到此位置(上面方法)
setNowLocation(result.getAllPoi().get(0).location);
//将第一个设置为选择的位置(上面方法)
setMarker(result.getAllPoi().get(0).location);

}  
public void onGetPoiDetailResult(PoiDetailResult result){  
//获取Place详情页检索结果  
Log.d("TAG", "PoiDetailResult"+result);
}  
};  
//设置POI检索监听者;
mPoiSearch.setOnGetPoiSearchResultListener(poiListener);  
//发起检索请求;
// PoiCitySearchOption pso=new PoiCitySearchOption();
// pso.city(city);
// pso.keyword(arg0)

mPoiSearch.searchInCity((new PoiCitySearchOption())  
.city(city)   
.keyword("宾馆")   
.pageNum(10));  

//在地图上点击某位置,在此添加一个标注

mBaiduMap=mMapView.getMap();
       
        mBaiduMap.setOnMapClickListener(new OnMapClickListener() {  
            public void onMapClick(LatLng point) {  
            collectPoint=point;
            Log.d("TAG", "点击的位置"+point.toString());
            setMarker(point);//(上面的加标注的方法)
            }  
            public boolean onMapPoiClick(MapPoi poi) {  
                //在此处理底图标注点击事件  
            Log.d("TAG", "点击的位置poi"+poi.toString());
                return false;  
            }  
        });