高德地图绘制点(简单实现)

第一步  配置高德地图的所有要配置的东西  记住APPKEY  一定要看清楚 这是个坑

导入jar包 

第二步xml 实现map控件

第三步代码(犹豫时间紧任务重直接写关键代码至于配置的信息去高德看)

 //在activity执行onCreate时执行mMapView.onCreate(savedInstanceState),创建地图
        mMapView = (MapView) findViewById(R.id.aMap);
        mMapView.onCreate(savedInstanceState);
        //初始化地图控制器对象
        if (aMap == null) {
            aMap = mMapView.getMap();
        }
//        aMap.setMyLocationEnabled(true);
//        aMap.moveCamera(CameraUpdateFactory.zoomTo(7)); //设置缩放级别为17
        aMap.showIndoorMap(true); //显示室内地图

查看是否显示地图

第四步:

    //lat lon 分别是经纬度
 LatLng latLng = new LatLng(lat, lon);
        marker = aMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
                .decodeResource(getResources(), R.mipmap.icon_property_address))).position(latLng).title(name).snippet(address));
        //参数依次是:视角调整区域的中心点坐标、希望调整到的缩放级别、俯仰角0°~45°(垂直与地图时为0)、偏航角 0~360° (正北方为0)
        CameraUpdate mCameraUpdate = CameraUpdateFactory.newCameraPosition(new CameraPosition(new LatLng(lat, lon), 18, 30, 0));
        aMap.moveCamera(mCameraUpdate);

到这里就显示绘制点了

 

接下来是实现搜索

    seach是高德里面的 POI 下面会发
 PoiSearch.Query query = new PoiSearch.Query("",seach,"");
//keyWord表示搜索字符串,
//第二个参数表示POI搜索类型,二者选填其一,选用POI搜索类型时建议填写类型代码,码表可以参考下方(而非文字)
//cityCode表示POI搜索区域,可以是城市编码也可以是城市名称,也可以传空字符串,空字符串代表全国在全国范围内进行搜索
        query.setPageSize(15);// 设置每页最多返回多少条poiitem
        query.setPageNum(1);//设置查询页码
        PoiSearch poiSearch = new PoiSearch(this, query);
        poiSearch.setBound(new PoiSearch.SearchBound(new LatLonPoint(marker.getPosition().latitude,
                marker.getPosition().longitude), 1000));//设置周边搜索的中心点以及半径

        poiSearch.setOnPoiSearchListener(this);
        poiSearch.searchPOIAsyn();

到这里就实现了

下面是seach辅助类

package com.example.ypc.eagle.view.detalis.code;


//                          _ooOoo_                               //
//                         o8888888o                              //
//                         88" . "88                              //
//                         (| ^_^ |)                              //
//                         O\  =  /O                              //
//                      ____/`---'\____                           //
//                    .'  \\|     |//  `.                         //
//                   /  \\|||  :  |||//  \                        //
//                  /  _||||| -:- |||||-  \                       //
//                  |   | \\\  -  /// |   |                       //
//                  | \_|  ''\---/''  |   |                       //
//                  \  .-\__  `-`  ___/-. /                       //
//                ___`. .'  /--.--\  `. . ___                     //
//              ."" '<  `.___\_<|>_/___.'  >'"".                  //
//            | | :  `- \`.;`\ _ /`;.`/ - ` : | |                 //
//            \  \ `-.   \_ __\ /__ _/   .-` /  /                 //
//      ========`-.____`-.___\_____/___.-`____.-'========         //
//                           `=---='                              //
//      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^        //
//         佛祖保佑       永无BUG     永不修改                     //

public class POICode {
    //银行
    public static String BANK = "160100";
    //地铁
    public static String METRO = "150500";
    //医院
    public static String HOSPITAL = "090100";
    //公交
    public static String BUS = "150700";
    //学校
    public static String SCHOOL = "141200";
    //购物
    public static String SHOPPING = "060101";
    //超市
    public static String SUPERMARKET = "060400";
    //休闲
    public static String RELAXATION = "080000";
    //健身
    public static String FITNESS = "080100";

}

然后实现他

PoiSearch.OnPoiSearchListener接口  在里面你可以查看i

i是错误信息可以在高德地图查你为什么失败

并且可以改你搜索到图片

@Override
    public void onPoiSearched(PoiResult poiResult, int i) {
        if (i == 1000) {
            aMap.clear();
            ArrayList pois = poiResult.getPois();
            for (int j = 0; j < pois.size(); j++) {
                LatLonPoint latLonPoint = pois.get(j).getLatLonPoint();
                double longitude = latLonPoint.getLongitude();
                double latitude = latLonPoint.getLatitude();
                LatLng latLng = new LatLng(latitude, longitude);
                final Marker marker = aMap.addMarker(new MarkerOptions().icon(BitmapDescriptorFactory.fromBitmap(BitmapFactory
                        .decodeResource(getResources(), mIconSelectIds[item]))).position(latLng));
            }
        } else {
            LogUtil.e("111111111", i + "");
        }
    }

 

你可能感兴趣的:(高德地图绘制点(简单实现))