求高手给出获取屏幕中心点的经纬度的代码,注意不是地图中心点getMapCenter()哦,是要屏幕的中心点
而且拖动地图这个中心点会变,代码不知怎么写

解决方案 »

  1.   

    我用下面代码获取中心点,但是位置不对,远远在屏幕外面,不知代码哪里错了?        // 得到设备的分辨率        
        DisplayMetrics dm = new DisplayMetrics();        
        getWindowManager().getDefaultDisplay().getMetrics(dm);        
        int widthPixels = dm.widthPixels;        
        int heightPixels = dm.heightPixels;        
        float density = dm.density;        
        // 计算屏幕宽度和高度        
        int screenWidth = (int) (widthPixels * density);        
        int screenHeight = (int) (heightPixels * density);         
        // 计算屏幕中心点经纬度       
        GeoPoint centerPoint = mMapView.getProjection().fromPixels(screenWidth/2, screenHeight/2);
      

  2.   

    正解   最重要的就是DisplayMetrics dm = new DisplayMetrics();        
            getWindowManager().getDefaultDisplay().getMetrics(dm); ……这句
      

  3.   

    上面我的代码获取到的中心点远远在屏幕外面哦,不知道是怎么回事?我获取到手机屏幕宽高分别320,480应该没错,但是那个点显示出来却是在屏幕外面,我设置缩放级别mMapView.getController().setZoom(18);这个应该不关事吧?
      

  4.   

    如果你标识了那个点后,又进行了缩放设置,这个就有可能出去啦。。获取手机的中心点可以这样,要是地图的话就要考虑取出顶部的状态栏和标题栏啦;还有,你应该知道Projection类的使用,坐标/像素转换,打印一下你的屏幕上点坐标看下,就知道什么问题啦。
      

  5.   

    请问默认GeoPoint centerPoint = mMapView.getProjection().fromPixels(0,0);是在什么缩放级别下是手机左上角的原点的?,回答我问题,分数全给你哦