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

时间:2013-04-08 07:57:25

标签: android google-maps maps

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

发送/接收消息工作正常,现在我需要添加新功能: 管理员在地图上选择一个区域(谷歌地图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

1 个答案:

答案 0 :(得分:1)

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