Cómo dibujar un círculo alrededor de un alfiler utilizando API de Google API v2

Estoy utilizando la nueva API (Google Map API V2) para mi aplicación Android, he hecho la creación del mapa y la adición de marcadores a ella, ahora mi tarea es crear manualmente un círculo alrededor de cualquier marcador y también quiero proporcionar un Funcionalidad al usuario que puede aumentar el radio de ese círculo en consecuencia, para ello he dado una barra, cuando el usuario aumenta esa barra el radio de círculo aumentará y viceversa.

Si alguien sabe cómo hacerlo usando Google Map API V2, por favor, ayuda,

Gracias

He estado trabajando en esto también y he encontrado la siguiente solución. Todavía no es perfecto, porque tuve que hacer un lienzo muy grande para evitar que el borde del círculo se torne borroso.

private void addCircleToMap() { // circle settings int radiusM = // your radius in meters double latitude = // your center latitude double longitude = // your center longitude LatLng latLng = new LatLng(latitude,longitude); // draw circle int d = 500; // diameter Bitmap bm = Bitmap.createBitmap(d, d, Config.ARGB_8888); Canvas c = new Canvas(bm); Paint p = new Paint(); p.setColor(getResources().getColor(R.color.green)); c.drawCircle(d/2, d/2, d/2, p); // generate BitmapDescriptor from circle Bitmap BitmapDescriptor bmD = BitmapDescriptorFactory.fromBitmap(bm); // mapView is the GoogleMap mapView.addGroundOverlay(new GroundOverlayOptions(). image(bmD). position(latLng,radiusM*2,radiusM*2). transparency(0.4f)); } 

– EDIT – Google actualizó la API. Ahora puedes añadir fácilmente un círculo a tu mapa: https://developers.google.com/maps/documentation/android/shapes?hl=nl#circles

Google hecho es simple en mapas v2. El siguiente fragmento muestra ambos marcadores de dibujo y círculos junto con la actualización de sus posiciones juntos.

 private Circle mCircle; private Marker mMarker; private GoogleMap mGoogleMap; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mGoogleMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment)).getMap(); mGoogleMap.setMyLocationEnabled(true); mGoogleMap.setOnMyLocationChangeListener(new GoogleMap.OnMyLocationChangeListener() { @Override public void onMyLocationChange(Location location) { LatLng latLng = new LatLng(location.getLatitude(), location.getLongitude()); if(mCircle == null || mMarker == null){ drawMarkerWithCircle(latLng); }else{ updateMarkerWithCircle(latLng); } } }); } private void updateMarkerWithCircle(LatLng position) { mCircle.setCenter(position); mMarker.setPosition(position); } private void drawMarkerWithCircle(LatLng position){ double radiusInMeters = 100.0; int strokeColor = 0xffff0000; //red outline int shadeColor = 0x44ff0000; //opaque red fill CircleOptions circleOptions = new CircleOptions().center(position).radius(radiusInMeters).fillColor(shadeColor).strokeColor(strokeColor).strokeWidth(8); mCircle = mGoogleMap.addCircle(circleOptions); MarkerOptions markerOptions = new MarkerOptions().position(position); mMarker = mGoogleMap.addMarker(markerOptions); } 

Esta es mejor:

  double radiusInMeters = 100.0; //red outline int strokeColor = 0xffff0000; //opaque red fill int shadeColor = 0x44ff0000; CircleOptions circleOptions = new CircleOptions().center(position).radius(radiusInMeters).fillColor(shadeColor).strokeColor(strokeColor).strokeWidth(2); mCircle = map.addCircle(circleOptions); MarkerOptions markerOptions = new MarkerOptions().position(position); mMarker = map.addMarker(markerOptions); 

Tal vez le ayude:

  GoogleMap map; // ... get a map. // Add a circle in Sydney Circle circle = map.addCircle(new CircleOptions() .center(new LatLng(-33.87365, 151.20689)) .radius(10000) .strokeColor(Color.RED) .fillColor(Color.BLUE)); 

De aquí :

AQUÍ

  • Android Maps v2 rotar mapaVer con brújula
  • Error de error de autorización de Google
  • Agregar una imagen de url a InfoWindow personalizado google maps v2
  • Adición de marcadores múltiples en Google Maps API v2 Android
  • Google Maps v2 Establecer nivel de zoom
  • ¿Cómo caché / descargar google map v2 tile programmatically?
  • Google Maps Android API v2: Visualización del radio de búsqueda con la ayuda de ValueAnimator
  • Cómo animar google map v2 marcador en la ruta de la polilínea?
  • saltando la ubicación en google maps por gps. (distancia imprecisa)
  • Comparación de dos objetos LatLng en google map v2 android
  • Poner a los marcadores de Google Map al frente cambiando el índice Z en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.