百度地图获取手机屏幕坐标

百度地图sdk获取手机屏幕左上右下的坐标经纬度

前段时间开发项目中,使用了baiduSdk,有一个是需求是获取手机屏幕的左上右下的经纬度,当时候正也是醉了,没怎么用过baidu地图SDK,然后就自己摸索咯,在此记录一下:
先说点小东西,百度地图去掉logo,以及缩放按钮:

  View child = mBaiduMap.getChildAt(1);
        if (child != null && (child instanceof ImageView || child instanceof ZoomControls)) {
            child.setVisibility(View.INVISIBLE);
        }
        mBaiduMap.showZoomControls(false);
        mBaiduMap.showScaleControl(false);

好了,咱们言归正传,接下来就来说如何去实现获取到手机屏幕的左上右下的经纬度,代码挺简单的,前提我们得获取到手机屏幕的宽高:

我这边是Fragment页面:

 private LatLng getSite(int type) { 
        DisplayMetrics dm = new DisplayMetrics();


        Point pt = new Point();
        if (type == 1) {
            //左上角
            pt.x = 0;
            pt.y = 0;
        }
        if (type == 2) {
            //左下角
            pt.x = 0;
            pt.y = dm.heightPixels;
        }
        if (type == 3) {
            //右上角
            pt.x = dm.widthPixels;
            pt.y = 0;
        }
        if (type == 4) {
            //右下角
            pt.x = dm.widthPixels;
            pt.y = dm.heightPixels;
        }

        ll = mBaiduMap.getMap().getProjection().fromScreenLocation(pt);

        return ll;

    }

而且我们需要在mBaiduMap.getMap().setOnMapStatusChangeListener(this)中才能够获取到相对应的经纬度

longitude/latitude 经度/纬度

  @Override
    public void onMapStatusChangeStart(MapStatus mapStatus) {



    }

    @Override
    public void onMapStatusChange(MapStatus mapStatus) {


    }

    @Override
    public void onMapStatusChangeFinish(MapStatus mapStatus) {
        getSite(1);
        LogUtil.e("左上角经纬度为", "左上角经度 x:" + ll.latitude + " 左上角纬度 y:" + ll.longitude);

        getSite(2);
        LogUtil.e("左下角经纬度为", "左下角经纬度 x:" + ll.latitude + " y:" + ll.longitude);

        getSite(3);
        LogUtil.e("右上角经纬度为", "右上角经纬度 x:" + ll.latitude + " y:" + ll.longitude);

        getSite(4);
        LogUtil.e("右下角经纬度为", "右下角经度 x:" + ll.latitude + "右下角纬度 y:" + ll.longitude);

Tips

百度地图sdk的经纬度api,举个例子GeoPoint(int latitudeE6, int longitudeE6),这个api用给定的经纬度构造一个GeoPoint,我们会发现跟常规的经纬度是相反的,这个一定得小心!!!

    原文作者:Eric_Bang
    原文地址: https://blog.csdn.net/speverriver/article/details/51125217
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞