onLocationChanged 在我的自定义视图中调用 onDraw 方法

发布于 2024-11-19 14:32:21 字数 239 浏览 1 评论 0原文

我有一个 MapImageViewer Activity 类,它具有检查手机 GPS 位置的方法。然后,此活动调用我的一个名为 MapCanvas 的自定义视图 - 其中构造函数获取纬度和经度,然后在地图图像上的相应像素上绘制一个圆圈。

这工作正常,但我想知道每次 gps 坐标发生变化时如何更新并调用 onDraw 方法?我知道它需要进入 onLocationChanged 方法..但我不确定如何将新的纬度和经度值从那里传递到我的自定义视图类。

I have a MapImageViewer Activity class that has methods for checking the phones gps location. This activity then calls a custom view of mine called MapCanvas - where the constructor takes the latitude and longitude and then draws a circle to the corresponding pixels on an image of a map.

This works ok, but I am wondering how can I update and call the onDraw method every time the gps coordinates change? I know it needs to go in the onLocationChanged method..but i'm not sure how i can pass the new latitude and longitude values from there to my Custom View class.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

高冷爸爸 2024-11-26 14:32:21

如何使用 .sendBroadcast()onLocationChanged() 方法发送纬度/经度,并使用 BroadcastReceiver 在 View 类中处理它们?

或者,您可以使用 LocationListener 中的回调方法,如 这篇文章

What about sending lat/lon from the onLocationChanged() method by using .sendBroadcast() and handle them inside your View class with a BroadcastReceiver?

Alternatively you could use a callback method from the LocationListener like shown in this post.

jJeQQOZ5 2024-11-26 14:32:21

每次获取新坐标时调用视图的 invalidate() 方法(如果 locationListener 与 UI 线程位于不同的线程中,则调用 postInvalidate() 方法)

Call the view's invalidate() method every time you get new coordinates (or postInvalidate() if the locationListener is in a different thread from the UI thread)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文