在mapview中绘制透明的圆

2024-01-08

我的地图视图和叠加有问题。

每次改变 GPS 位置时,我都必须在地图上画一个圆圈。 我在覆盖类中使用了扩展覆盖的方法绘制。 问题是我必须以透明度绘制这些圆圈,但是当圆圈在交点处相互重叠时,颜色会有所不同,因为存在 alpha 之和。

我该如何修复它?

这是我的覆盖类:

public class ImpactOverlay extends Overlay {

private static int CIRCLERADIUS = 0;
private GeoPoint geopoint;
private int myCircleRadius;
Point point = new Point();
Paint circle = new Paint(Paint.ANTI_ALIAS_FLAG);
private long systemTime= -1 ;



public ImpactOverlay(GeoPoint point, int myRadius) {

    geopoint = point;
    CIRCLERADIUS = myRadius; // assegna raggio del cerchio
}

@Override
public void draw(Canvas canvas, MapView mapView, boolean shadow) {

     // Transfrom geoposition to Point on canvas
     Projection projection = mapView.getProjection();
     projection.toPixels(geopoint, point);

     // the circle to mark the spot
     circle.setColor(Color.parseColor("#88ff0000"));
     circle.setAlpha(122); // trasparenza

     myCircleRadius = metersToRadius(CIRCLERADIUS, mapView,
     (double) geopoint.getLatitudeE6() / 1000000);

     canvas.drawCircle(point.x, point.y, myCircleRadius, circle);       

}



public static int metersToRadius(float meters, MapView map, double latitude) {
    return (int) (map.getProjection().metersToEquatorPixels(meters) * (1 / Math
            .cos(Math.toRadians(latitude))));
}

@Override
/* Implementa il doppio tap per eseguire zoom sulla mappa */
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
    switch (event.getAction()) {
    case MotionEvent.ACTION_DOWN:
        if ((System.currentTimeMillis() - systemTime) < 250) {
            mapView.getController().zoomIn();
        }
        systemTime = System.currentTimeMillis();
        break;
    }

    return false;
}
}

        CircleOptions circle = new CircleOptions();
        circle.center(new LatLng(latitude, longitude))
        .radius(1500)//in meters
        .strokeColor(Color.BLUE)//border color
        .strokeWidth(3.0f)//border width
        .fillColor(0x200000ff);//inside circle
        googleMap.addCircle(circle);//GoogleMap googleMap(initialize accordingly)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在mapview中绘制透明的圆 的相关文章

  • 在根项目“bin”中找不到任务“bintrayUpload”

    我遵循了将 AAR 文件发布到 JCenter 所需的每个步骤 然后使用 Maven Central 将其同步https github com danielemaddaluno gradle jcenter publish https gi
  • 应用程序在加载 xml 布局文件的主线程中做了太多工作

    我正在制作一个 9x9 数独网格 其中 81 个单元格本身就是一个 3x3 网格 单个细胞看起来像这样 1 2 3 4 5 6 7 8 9 每个数字代表该单元格的铅笔注释 我有一个名为 cell layout xml 的文件 表示这种 3x
  • Android 应用程序安装失败:包 com.my.app 在条目 AndroidManifest.xml 处没有证书

    在 Android Studio 中 我生成了带有密钥库等的签名 APK 将 APK 安装到设备上时失败 并显示 无法安装应用程序 并且在 Android Monitor 中我看到以下行 Package com my app has no
  • 如何从Firebase Firestore实时更新文档中获取修改后的字段或数据? [复制]

    这个问题在这里已经有答案了 我有多个文档 我的问题是我无法获取修改的特定数据 我正在获取完整的文档 db collection employees whereEqualTo OID OID addSnapshotListener new E
  • 在 ChromeO 上安装未知来源的 apk

    我今天早上更新了我的 Chromebook Asus Flip 以获取 Play 商店 我的 Chromebook 安装了 M53dev 通道版本 它运作良好 我可以安装并运行从 Play 商店下载的 Android 应用程序 我想测试我的
  • Android 中的 Fragment-Fragment 通信

    我在Android编程方面处于初级水平 所以我需要你真诚的帮助 请任何人帮助我 我正在尝试使用片段构建滑动用户界面 所以我真正的疑问是 我有一个Fragment say FragmentA 它有一个TextView and Button在其
  • socket.io xhr 在连接缓慢时出现错误(3G 移动网络)

    当我在 3G 移动网络 互联网连接速度慢 上测试我的真实聊天应用程序时 Socket io反复断开然后重新连接 我已经记录了原因 它说 xhr post error 这提高了 transport error 然后断开连接 我可以知道什么意思
  • Android 中的列表(特别是 RecyclerView 和 CardView)如何工作

    请原谅我问这个问题 但我是 Android 开发新手 尽管我正在尝试了解developer android com 网站上的基础知识 但大多数示例 即使他们说它们是为 Android Studio 构建的 尚未设置为使用 Gradle 因此
  • 覆盖 Android 中的电源按钮

    我正在开发一个应用程序 其中我需要在按下电源按钮时执行一个操作 但不幸的是我无法处理按下电源按钮时的操作 我尝试使用 onKeyDown 和dispatchKeyEvent 方法 但似乎没有任何效果 任何人都可以建议我解决这个问题的任何其他
  • 退出设备上的 system.img

    我正在为我们部署给客户的设备 LG p509 Optimus 1 开发自动应用程序更新解决方案 我们可以控制这些设备 并且目前在它们上安装自定义内核 但不是完整的自定义 ROM 由于我们试图在设备上自动更新我们的应用程序 因此我们需要由我们
  • 需要 Android webview window.open() 和 window.close() 的信息

    我正在开发一个安卓应用程序 这是我网站的 WebView 该网站包含一个弹出按钮 单击该按钮后 将打开一个新窗口并显示内容 该链接可以来自外部站点 然而 当我实现此操作时 新选项卡正在打开 之后它会弹出以打开浏览器 尽管在 Web 视图中打
  • Android上如何获取ImageView的Drawable的矩形?

    我想要获取将包裹 ImageView 的 Drawable 的矩形对象 而不是包裹 ImageView 的矩形 我将使用该矩形在 Drawable 周围绘制一些奇特的矩形 我怎样才能得到那个矩形 Rect rect new Rect Ima
  • 如何禁用操作栏上“向上”按钮的翻转?

    背景 我做了一个 应用程序管理器 https play google com store apps details id com lb app manager 替代应用程序 我希望添加 RTL 从右到左 语言的翻译 因为我知道在某些 And
  • React Native Expo StackNavigator 重叠通知栏

    我正在尝试为我的 React Native Expo 应用程序实现导航栏 这里有一个问题 dependencies expo 18 0 3 react 16 0 0 alpha 12 react native 0 45 1 react na
  • 如何使用 SharedPreferences 保存多个值?

    我正在开发一个字典应用程序 在我的应用程序中 我假设用户想要保存最喜欢的单词 我决定使用共享首选项保存这些值 我知道 SQLite 和文件更好 但我坚持使用 SharedPreferences 所以继续使用它 下面是我的代码 Overrid
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • 安卓。 CalendarView...一次仅显示一个月的日历

    我正在使用 CalendarView 其中我想一次仅查看一个月的日历并滚动查看下个月 但 CalendarView 一次显示所有月份 下面是我的代码
  • 离子初始加载时间

    我正在使用 Ionic 构建一个简单的应用程序 但我的应用程序在冷启动时的初始加载时间方面存在性能问题 这是我所做的 collection repeat 代替带有 track by 的 ng repeat 原生滚动 overflow scr
  • Android 标记如何实现拖放?

    你好 我正在 Android 中开发 MapView 应用程序 我有三个标记 我希望稍后能够使用 Google Map API getlocation function 为了尝试一下 我想使用拖放功能移动标记 然后检查位置 任何人都可以通过
  • Android MulticastSocket.joinGroup 不会触发发送 IGMP 消息

    Code MulticastSocket s new MulticastSocket InetAddress addr InetAddress getByName 230 230 230 1 s joinGroup addr 在 Ubunt

随机推荐

  • 构建 docker-compose 映像时无法连接到 MySQL

    我有 docker compose 的配置 在构建数据库步骤中 django 管理抛出错误 django db utils OperationalError 2002 无法连接到 127 0 0 1 115 上的MySQL服务器 我认为 码
  • numpy 将分类字符串数组转换为整数数组

    我正在尝试将分类变量的字符串数组转换为分类变量的整数数组 Ex import numpy as np a np array a b c a b c print a dtype gt gt gt S1 b np unique a print
  • Angular HTML5 URL - 服务器配置

    我读过 AngularJS 使用 hashbang URL 作为默认值 但这不是一个优势 因此应该使用 HTML5 URL 为了在客户端配置此行为 必须完成以下操作 locationProvider html5Mode true 在服务器端
  • INSTALL_NON_MARKET_APPS 替代方案?

    我需要检查 安装来自未知来源的应用程序 选项是否启用或禁用 然而 INSTALL NON MARKET APPS在 API 17 中已弃用 是否有新的替代方法来检查这一点 这是旧的检查方法 boolean canInstallFromOth
  • Matplotlib 中极坐标图的插值差异

    我正在尝试在极坐标图上生成等值线图 并在 matlab 中编写一些快速脚本以获得一些结果 出于好奇 我也想使用 matplotlib 在 python 中尝试同样的事情 但不知何故 我看到相同输入数据的不同组等高线图 我试图弄清楚发生了什么
  • 如何仅聚合混合数据类型数据框中的数字列

    我有一个混合的pd DataFrame import pandas as pd import numpy as np df pd DataFrame A 1 B pd Timestamp 20130102 C pd Timestamp 20
  • 搜索/迭代 boost::spirit::qi::symbols

    如果我有一个符号表 struct MySymbols symbols
  • OCaml构造函数解包

    是否可以通过将数据绑定到单个值而不是元组来解包类型 type foo Foo of int string type foo Foo of int string Foo 3 bar Foo 3 bar Error The constructo
  • 如何为 geopandas 图制作表格图例

    我正在使用 geopandas 绘制分区统计图 并且需要绘制自定义的表格图例 这个问题 https stackoverflow com questions 44567107 how to make tabular legend using
  • 函数如何检查打字稿中的 null ?

    在 typescript 2 6 中 我想编写一个执行空检查的函数 当我启用严格的空检查时 typescript 2 6 会抱怨以下代码 注意 使用空检查时直接起作用 编辑 已更正notNullOrUndefined因为它没有检查 foo
  • 具有无限参数但具有相同(固定)类型的 C++ 函数

    我想要一个具有无限数量参数的函数 但我还想确保这些都是同一类型的指针 像这样的事情 void myFunc float value MyClass take all pointers of type MyClass and call fun
  • SQL Server 脚本生成器从十六进制转换日期时间值

    我需要从 SQL Server 生成插入脚本 当我使用 SQL Server 脚本生成器时 它会从十六进制转换日期时间值 例如 CAST xxxxxxxxxxxxx as dateTime 我怎样才能避免这种情况 我想要脚本中的实际值 不幸
  • Google Picker API 和选择 Google 云端硬盘项目的问题

    我正在尝试集成 Google Picker 以从 Google Drive 选择文件 如下这个例子 https developers google com drive integrate open 打开选择器时 我在 javascript
  • 使用 NSTask 和 NSPipe 导致 CPU 使用率 100%

    我正在尝试使用 NSTask 运行一个简单的 bash 脚本并将输出定向到文本视图 任务执行后 我的应用程序的 CPU 使用率为 100 即使它是一个简单的任务echo 目前 我创建了一个全新的项目来隔离该问题 interface AppD
  • 如何将 Byte[](解码为 PNG 或 JPG)转换为 Tensorflows 张量

    我正在尝试在 Unity 的项目中使用 Tensorflowsharp 我面临的问题是 对于转换 您通常使用第二个图将输入转换为张量 Android 不支持使用的函数 DecodeJpg 和 DecodePng 那么如何将该输入转换为张量
  • 如何使用 PHP 处理邮件发送错误

    我正在构建一个用于发送新闻通讯的 symfony 模块 这个想法是建立一个地址队列列表来接收邮件 然后使用 cron 作业 一次发送 50 个邮件 我现在不知道如何做是阅读当电子邮件地址不存在或邮件已满时服务器发回的邮件传送报告 这个想法是
  • 在 HTML 中查找值的快速方法 (Java)

    使用正则表达式 获取网站 HTML 并查找此标记内的值 或与此相关的任何属性值 的最简单方法是什么 snip snip 取决于您需要构建的 Http 请求的复杂程度 身份验证等 这是我过去见过的一种简单方法 StringBuilder ht
  • 检查丢失的软件包并安装它们的优雅方法?

    这些天我似乎与合著者分享了很多代码 他们中的许多人都是 R 新手 中级用户 并且没有意识到他们必须安装他们尚未安装的软件包 有没有一种优雅的调用方式installed packages 将其与我正在加载和安装的那些进行比较 如果丢失 是的
  • Windows 批处理文件中一行中的多个命令

    在 Unix 中 我们可以将多个命令放在一行中 如下所示 date ls l date 我在Windows中尝试过类似的事情 gt echo TIME dir echo TIME 但它打印了时间并且不执行命令dir 我怎样才能实现这个目标
  • 在mapview中绘制透明的圆

    我的地图视图和叠加有问题 每次改变 GPS 位置时 我都必须在地图上画一个圆圈 我在覆盖类中使用了扩展覆盖的方法绘制 问题是我必须以透明度绘制这些圆圈 但是当圆圈在交点处相互重叠时 颜色会有所不同 因为存在 alpha 之和 我该如何修复它