android - 计算屏幕外 map 位置的半径

标签 android google-maps math

问题:

我如何考虑屏幕的矩形形状以确保圆圈准确地绘制到填充的边界?

以下适用于“圆形”区域,但不适用于矩形区域...

dx = abs(center.x - place.x);
dy = abs(center.y - place.y);
dh = Math.sqrt((dx * dx) + (dy * dy));
radius = dh - padding;

光环设计: Halo idea

如果问题看起来不明显,下图代表了我当前使用的方法。根据地点的位置影响它突出到屏幕空间的距离。 enter image description here

最佳答案

认为这应该可行。未经测试。

dx = abs(placeLocationPixels.x - ourLocationPixels.x)
dy = abs(placeLocationPixels.y - ourLocationPixels.y)

ox = dx - ((screenSize.x / 2) - padding);
oy = dy - ((screenSize.y / 2) - padding);

if (ox < 0) ox = 0;
if (oy < 0) oy = 0;

radius = sqrt((ox*ox) + (oy*oy));

编辑:这不是任何特定的语言。

关于android - 计算屏幕外 map 位置的半径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9526592/

相关文章:

android - 以编程方式杀死android中后台运行的应用程序

android - Firebase 使用随机生成的 key 访问子项

android - 停止 dpad 焦点超出 android 中的当前 fragment

java - 如何在谷歌地图上添加矩形框?

google-maps - Google Maps v3 自定义控件 - 与 map 外的控件交互

java - 根据变量四舍五入到一定数量的小数位的方法

android - 单击 URL 会打开默认浏览器

google-maps - 使用 ID 从 Google Places API 获取位置

math - 没有欧拉角的四元数旋转

c - C 中等式前的预期表达式