【问题标题】:Android Google Maps API V2 - Mark area on the mapAndroid Google Maps API V2 - 在地图上标记区域
【发布时间】:2013-03-30 05:39:36
【问题描述】:

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

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

}

谢谢...

【问题讨论】:

    标签: android google-maps maps


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我已经用这种方式解决了 - 管理员正在将中心(LatLng)和半径发送给客户端,客户端进行比较。
    猜你喜欢
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 2012-12-31
    • 2013-03-29
    • 2015-08-19
    相关资源
    最近更新 更多