android如何检查一个点是否在我的屏幕内

android如何检查一个点是否在我的屏幕内,android,google-maps,map-projections,Android,Google Maps,Map Projections,我得到一个点对象,抛出我的MapView投影对象 我有一个覆盖列表,我想检查每个覆盖是否在我的当前屏幕内(这取决于缩放级别) 我找不到一种方法来检查给定的点是否在屏幕内 我发现当我记录投影的点时,屏幕上没有的点有负值 如果一个点的值为负值,它就在我的屏幕之外,这是真的吗?我不知道你犯了错误,或者有什么改变,但是在Rect构造函数中高度和宽度是错误的(0,0,宽度,高度)。我不知道你犯了错误,或者有什么改变,但是在Rect构造函数中高度和宽度是错误的(0,0,宽度,高度)。 GeoPoin

我得到一个点对象,抛出我的MapView投影对象

我有一个覆盖列表,我想检查每个覆盖是否在我的当前屏幕内(这取决于缩放级别)

我找不到一种方法来检查给定的点是否在屏幕内

我发现当我记录投影的点时,屏幕上没有的点有负值


如果一个点的值为负值,它就在我的屏幕之外,这是真的吗?

我不知道你犯了错误,或者有什么改变,但是在Rect构造函数中高度和宽度是错误的(0,0,宽度,高度)。我不知道你犯了错误,或者有什么改变,但是在Rect构造函数中高度和宽度是错误的(0,0,宽度,高度)。
    GeoPoint yourPoint = null;// w/e point u wanna see is on the screen

    Point newPoint = null; // x/y point

    mapView.getProjection().toPixels(yourPoint, newPoint); //convert to xy Point

    int height = context.getResources().getDisplayMetrics().heightPixels;

    int width = context.getResources().getDisplayMetrics().widthPixels;

    Rect screen = new Rect(0,0,width,height); //rect that represents your Screen

    if(screen.contains(newPoint.x, newPoint.y){
         // your point is on the screen
    }