Android Google Maps API V2 - 在 map 上标记区域

标签 android google-maps maps

我正在开发一个从管理员向客户发送消息的应用程序。 流程非常简单 - 管理员键入一条消息,每个安装了此应用程序的客户端都会收到该消息。我正在使用池(现在不是推送通知)。

发送/接收消息工作正常,现在我需要添加新功能: 管理员在 map 上选择一个区域(Google maps api v2),客户端检查他的位置并仅在他位于标记区域内时显示消息。

到目前为止,我只完成了在屏幕中选择一个区域的视觉部分:在管理员点击的点周围有一个圆圈(管理员可以更改圆圈半径),现在我必须做棘手的部分 - 标记圈内的区域并将其发送到 DB(与消息一起),以便另一方(客户端)将检查他的位置是否在圈内,以及他是否应该收到消息。

有什么帮助吗?

我附上了相关的代码块和屏幕截图。

code:
private void drawCircle(LatLng center, int radius) {

        CircleOptions circleOptions = new     CircleOptions().center(center).radius(radius);
        circleOptions.strokeColor(Color.BLUE);
        circleOptions.strokeWidth(3);
        gMap.addCircle(circleOptions);
        Log.d(TAG, "center = " + center.latitude + " , " + center.longitude);
        Log.d(TAG, "radius = " + radius);
        gMap.addMarker(new      MarkerOptions().position(center).icon(BitmapDescriptorFactory.fromResource(R.drawable.dot))    );

}

谢谢...

screen snap

最佳答案

我认为您需要做的最简单的事情就是检查客户端与圆心之间的距离。如果它小于圆的半径 -> 客户端在里面。

关于Android Google Maps API V2 - 在 map 上标记区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15874033/

相关文章:

android - 谷歌地图 android 2.2 NoClassDefFoundError

r - 允许 map 上权重重的点压倒其他权重低的点的选项

asp.net - 我怎样才能提高网站上嵌入的谷歌地图的加载速度?

java - 将自定义标记添加到 Android 中的 Google map

android - ios低级序列化

android - Cordova 错误 : No emulator images (avds) found

android - Cordova 对话特殊字符

android - 使用opencv在android中处理直播流视频

google-maps - 谷歌地图搜索框FOUC

android - 谷歌地图在位置更新时返回 null