1

MapView Projectiion オブジェクトをスローする Point オブジェクトを取得しています。

オーバーレイのリストがあり、各オーバーレイが現在の画面内にあるかどうかを確認したい (これはズーム レベルによって異なります)。

特定のポイントが画面内にあるかどうかを確認する方法が見つかりませんでした。

私が見つけたのは、投影からポイントをログに記録しているときに、画面にないポイントが負の値を持つことです..

Point が負の値の場合、画面の外にあるというのは本当ですか?

4

1 に答える 1

6
    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
    }
于 2012-09-16T22:03:04.917 に答える