2

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

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

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

有什么帮助吗?

我附上了相关的代码块和屏幕快照。

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))    );

}

谢谢...

屏幕快照

4

1 回答 1

1

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

于 2013-04-08T20:24:37.560 回答