Google Maps Api V2围绕当前位置绘制圆圈

时间:2015-07-14 14:51:39

标签: android google-maps

我目前在Android项目上使用Google Maps API V2,我需要能够在用户当前位置周围绘制一个圆圈,并在用户当前位置周围显示兴趣点内的标记。

我正在努力获得表示用户当前位置的小标记,以便我可以围绕它绘制一个圆圈。

到目前为止,这是我的代码。

//Set up map and display users current position.
    MapFragment mapFragment = (MapFragment) getFragmentManager()
            .findFragmentById(R.id.nearbyMapSearch);
    mapFragment.getMapAsync(this);

    final GoogleMap map = (((MapFragment) getFragmentManager().findFragmentById(R.id.nearbyMapSearch)).getMap());
    map.setMyLocationEnabled(true);

    //zoom to users location
    GeoLocationHandler geoHandler = new GeoLocationHandler(getActivity().getApplicationContext());
    Log.i("Search Fragment", "" + geoHandler.getCurrentLatitude() + " , " + geoHandler.getCurrentLongitude());
    LatLng loc = new LatLng(geoHandler.getCurrentLatitude(), geoHandler.getCurrentLongitude());

    //Begin animating camera.
    map.animateCamera(CameraUpdateFactory.newLatLngZoom(
            new LatLng(loc.latitude, loc.longitude), 13));

    //Instantiate new Camera position
    CameraPosition cameraPosition = new CameraPosition.Builder()
            .target(new LatLng(loc.latitude, loc.longitude))
            .zoom(3)
            .bearing(0)
            .tilt(0)
            .build();
    map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:7)

Circle circle = 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

您应订阅用户位置的更新,并使用

重置圈子中心
circle.setCenter(newLocation);