Как я могу получить точное значение X и Y для слоя плитки (FrameLayout) после масштабирования?Мне нужно значение TopLeft Corner X и Y после масштабирования или масштабирования FrameLayout.
Пожалуйста, помогите мне получить значения в Xamarin.Android.
У меня есть карта OSM , это FrameLayout.Я добавил плиточный слой (FrameLayout) с плитками, который является ImageView на карту (FrameLayout).Теперь я масштабирую или увеличиваю размер кадра.
Я использовал GetLocationOnScreen
для родительского и дочернего вида, чтобы получить точное местоположение.
Я получил точное местоположение до уровня зумирования 2. На уровне зумирования 3 мы удалили несколько тайлов, тайл начинается с 2,1, я получил неправильные значения в GetLocationOnScreen
.Он возвращает эту позицию тайла, но мне нужно преобразованное значение после масштабирования.
Или, может быть, есть какой-нибудь другой способ найти точное местоположение FrameLayout после масштабирования?
int[] childView = new int[2];
int[] rootView = new int[2];
foreach (var tile in TileLayer.Tiles)
{
tile.ImageView.GetLocationOnScreen(childView);
}
TileLayer.Map.GetLocationOnScreen(rootView);
int topLeftX = childView[0] - rootView[0];
int topLeftY = childView[1] - rootView[1];