android – 如何专注于Google地图上的位置,考虑到这一点呢?

android – 如何专注于Google地图上的位置,考虑到这一点呢?,第1张

概述背景 假设我有一个谷歌地图视图,另一个视图,它覆盖了它的一部分,隐藏地图的一些内容. 问题 我需要制作地图的“摄像机”,将焦点放在坐标上,并将其全部置于地图的可见部分的中间. 这样的事情 原始代码着重于(关于)整个屏幕的中心,使标记几乎看不见(如底视图所涵盖). 事实上,我找不到正确的方式来将地图本身的Y坐标(含义为纬度)设置正确的值. 我试过了 考虑到底视图的高度以及我把标记的坐标来计算三角形( 背景

假设我有一个谷歌地图视图,另一个视图,它覆盖了它的一部分,隐藏地图的一些内容.

问题

我需要制作地图的“摄像机”,将焦点放在坐标上,并将其全部置于地图的可见部分的中间.

这样的事情

原始代码着重于(关于)整个屏幕的中心,使标记几乎看不见(如底视图所涵盖).

事实上,我找不到正确的方式来将地图本身的Y坐标(含义为纬度)设置正确的值.

我试过了

考虑到底视图的高度以及我把标记的坐标来计算三角形(当然不会改变标记本身):

final float neededZoom = 6.5f;    int bottomVIEwHeight = bottomVIEw.getHeight();    LatLng posToFocusOn = ...;    final Point point = mMap.getProjection().toScreenLocation(posToFocusOn);    final float curZoom = mMap.getCameraposition().zoom;    point.y += bottomVIEwHeight * curZoom / neededZoom;    posToFocusOn = mMap.getProjection().fromScreenLocation(point);    final CameraUpdate cameraposition = CameraUpdateFactory.newCameraposition(new Builder().target(posToFocusOn).zoom(neededZoom).build());

可悲的是,这个重点在标记之上.

问题

我写的是什么问题?我可以做些什么来解决它?

解决方法 好的,我找到了一个解决方法,我认为在所有设备上工作(在3上测试,每个都有不同的屏幕分辨率和大小):

我测量了标记本身有多少像素(然后转换为DP)一度的变化.

从此,我测量了每个视图的高度,并计算了移动相机所需的增量.

在我的情况下,就是这样(假设缩放为6.5f):

//measured as 223 pixels on Nexus 5,which has xxhdpi,so divIDe by 3    final float oneDegreeInPixels = convertDptopixels( 223.0f / 3.0f);    final float mapVIEwCenter = mapVIEwHeight / 2.0f;    final float bottomVIEwHeight = ...;    final float posToFocusInPixelsFromtop = (mapVIEwHeight - bottomVIEwHeight) / 2.0f ;// can optionally add the height of the vIEw on the top area    final float deltaLatdegreesToMove = (mapVIEwCenter - posToFocusInPixelsFromtop) / oneDegreeInPixels;    LatLng posToFocusOn = new LatLng(latitude - deltaLatdegreesToMove,longitude);    final CameraUpdate cameraposition = CameraUpdateFactory.newCameraposition(new Builder().target(posToFocusOn).zoom(neededZoom).build());

它工作.

我想知道是否可以调整以支持任何变焦的值.

总结

以上是内存溢出为你收集整理的android – 如何专注于Google地图上的位置,考虑到这一点呢?全部内容,希望文章能够帮你解决android – 如何专注于Google地图上的位置,考虑到这一点呢?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1132384.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存