title: How to set fixed image over google maps on android
body: <p>I am new to android </p>
  
  <p>I have to add three images calendar, cytilife, and sun images and they should be fixed that is if map is re sized, zoomed, etc at any point of time they should not changed their position.</p>
  
  <p>I am able to display map and the circle. To display images i used ovelay/markers but they are changing if map change.</p>
  
  <p>This is my activity class</p>
  
  <pre><code>   public class MainActivity extends FragmentActivity  {
  
  private GoogleMap map;
  private int offset;
  
  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
  
      map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
              .getMap();
  
      if (map != null) {
  
          MarkerOptions options = new MarkerOptions();
          options.position(getCoords(17.3700, 88.4800)).anchor(0.5f, 0.5f);
          options.icon(BitmapDescriptorFactory.fromBitmap(getBitmap(17.3700,
                  78.4800)));
  
          final Marker marker = map.addMarker(options);
  
          UiSettings uiSettings = map.getUiSettings();
          uiSettings.setScrollGesturesEnabled(true);
  
          LatLng latLng = new LatLng(-33.796923, 150.922433);
          map.setMapType(GoogleMap.MAP_TYPE_NORMAL);
          map.addMarker(new MarkerOptions()
          .position(latLng)
          .title("My Spot")
          .snippet("This is my spot!")
          .icon(BitmapDescriptorFactory.fromResource(R.drawable.calendar)));
          map.getUiSettings().setZoomControlsEnabled(true);
          map.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 10));
  
          map.setOnCameraChangeListener(new OnCameraChangeListener() {
  
              @Override
              public void onCameraChange(CameraPosition paramCameraPosition) {
                  LatLng centerOfMap = map.getCameraPosition().target;
                  marker.setPosition(centerOfMap);
              }
          });
      }
  }
  
  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
  }
  
  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      int id = item.getItemId();
      if (id == R.id.action_settings) {
          return true;
      }
      return super.onOptionsItemSelected(item);
  }
  
  private Bitmap getBitmap(double latitude, double longitude) {
  
      // fill color
      Paint paint1 = new Paint(Paint.ANTI_ALIAS_FLAG);
      paint1.setColor(0x110000FF);
      paint1.setStyle(Style.FILL);
  
      // stroke color
      Paint paint2 = new Paint(Paint.ANTI_ALIAS_FLAG);
      paint2.setColor(Color.GRAY);
      paint2.setStyle(Style.STROKE);
  
      // circle radius - 200 meters
      int radius = 400;
  
      // create empty bitmap
      Bitmap b = Bitmap
              .createBitmap(radius * 2, radius * 2, Config.ARGB_8888);
      Canvas c = new Canvas(b);
  
      c.drawCircle(radius, radius, radius, paint1);
      c.drawCircle(radius, radius, radius, paint2);
  
      return b;
  }
  
  private LatLng getCoords(double lat, double lng) {
      LatLng latLng = new LatLng(lat, lng);
  
      Projection proj = map.getProjection();
      Point p = proj.toScreenLocation(latLng);
      p.set(p.x, p.y + offset);
  
      return proj.fromScreenLocation(p);
  }
  
    }
  </code></pre>
  
  <p>This is my activity_main.xml</p>
  
  <pre><code> &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="fill_parent"
  android:layout_height="match_parent"
  android:paddingBottom="@dimen/activity_vertical_margin"
  android:paddingLeft="@dimen/activity_horizontal_margin"
  android:paddingRight="@dimen/activity_horizontal_margin"
  android:paddingTop="@dimen/activity_vertical_margin"
  tools:context="com.naveen.myfirstapp.MainActivity" &gt;
  
  &lt;fragment
      android:id="@+id/map"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentTop="true"
      android:layout_marginBottom="86dp"
      class="com.google.android.gms.maps.MapFragment"
  
  
       /&gt;
  </code></pre>
  
  <p>Thank you</p>