如何在Google地图上围绕用户的位置(蓝点)创建一个圆圈?我正在创建一个Geofence应用程序

时间:2018-01-15 07:15:43

标签: android android-geofence

我正在创建一个Geofence应用,我希望它只在用户的当前位置创建地理围栏或圈子。到目前为止,解决方案是在地图上创建标记,但我并不打算使用地图标记。无论蓝点位于地图上,我都希望它围绕它生成地理围栏。我该怎么办?

private void startGeofence() {
    Log.i(TAG, "startGeofence");
    Geofence geofence = createGeofence( geoFenceMarker.getPosition(), GEOFENCE_RADIUS);
    GeofencingRequest geofencingRequest = createGeofenceRequest(geofence);
    addGeofence(geofencingRequest);
}

private Marker geoFenceMarker;
private Circle geofenceLimit;
private void drawGeofence() {
    if (geofenceLimit != null){
        geofenceLimit.remove();
    }

    CircleOptions circleOptions = new CircleOptions()
            .center( geoFenceMarker.getPosition())
            .strokeColor(Color.argb(50, 70,70,70))
            .fillColor( Color.argb(100, 150,150,150) )
            .radius( GEOFENCE_RADIUS );
    geofenceLimit = googleMap.addCircle( circleOptions );

}

1 个答案:

答案 0 :(得分:0)

您可以使用Circle类在用户当前位置绘制圆圈。

Circle drawCircle = map.addCircle(new CircleOptions()
 .center(new LatLng(loc.latitude, loc.longitude))
 .radius(1000)
 .strokeColor(Color.RED)
 .fillColor(Color.BLUE));

您可以从https://developers.google.com/android/reference/com/google/android/gms/maps/model/Circle

获取更多信息

希望这对你有所帮助。