SetBoundings под Nutiteq не работает должным образом

Я пытаюсь показать Polygon под Nutiteq в должным образом Bounding Box но я получаю что-то подобноеПрицел поля неправильно ограничен

и что я хочу это

Вид этого поля правильно ограничен

Мой код следующий

private void setClipBounds(Intent intent, MapView mapView) {
    ArrayList<ArrayList<String>> limits = null;
    if (intent.hasExtra(Constants._LIMITS)) {
        limits = (ArrayList<ArrayList<String>>) intent.getSerializableExtra(Constants._LIMITS);


        ArrayList<String> downLeft = limits.get(0);
        ArrayList<String> upRight  = limits.get(1);

        double left                = Double.parseDouble((String)(downLeft.get(0)));
        double top                 = Double.parseDouble((String)(upRight.get(1))); 
        double right               = Double.parseDouble((String)(upRight.get(0))); 
        double bottom              = Double.parseDouble((String)(downLeft.get(1))); 

        MapPos downLeftPos         =  mapView.worldToScreen(left, bottom, 0);
        MapPos rightUpPos          =  mapView.worldToScreen(right, top, 0);             

        Rect rect                  = new Rect(Math.round((float)downLeftPos.x), Math.round((float)rightUpPos.y), Math.round((float)rightUpPos.x), Math.round((float)downLeftPos.y));


        Bounds bounds              = new Bounds(left, top, right, bottom);

        mapView.setBoundingBox(bounds, rect, false, false, false, 1000);
        //mapView.setBoundingBox(bounds, false);

    } else {
        Log.i("TAG", "WmsMapActivity::setClipBounds:: NO limits!!!");   
    }

}

Кто-нибудь может мне сказать, что я делаю не так?

Заранее спасибо.

1 ответ

Вы используете неправильный прямоугольный аргумент - в вашем случае он, вероятно, должен содержать размеры вашего вида (вам не нужно вызывать worldToScreen, worldToScreen вычисляет координаты экрана на основе текущих параметров камеры).

Другие вопросы по тегам