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 вычисляет координаты экрана на основе текущих параметров камеры).