23

I'm working on application with Google maps so i want to define a custom marker for each custom place, For example (gas station- Hotel- Hospital.. ) ! i have a overlays class with the latitude and longitude of many places and i want just how to give a custom icon!

Janusz
  • 187,060
  • 113
  • 301
  • 369
Jamel Naghmouchi
  • 313
  • 1
  • 4
  • 13

3 Answers3

89

With the new Maps Api Setting the Icon for a Marker is done with the following Code:

MarkerOptions markerOptions = new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_location));

The icon can not be changed after a Marker was created. To change an icon remove the marker and readd it with a new image.

Janusz
  • 187,060
  • 113
  • 301
  • 369
1

with the APi v2, you can do (markerObject).setIcon(BitmapDescriptor) to change/set the marker image.

rajankz
  • 644
  • 1
  • 5
  • 16
0

OverlayItem.setMarker seems like the method you're looking for.

Note that there is (or used to be) a gotcha you need to be aware of; you first need to use Drawable.setBounds to set the visible boundaries of the drawable before it can be rendered properly. Some fiddling might be needed to get it to centre; see this answer.

Community
  • 1
  • 1
ravuya
  • 8,586
  • 4
  • 30
  • 33