API GoogleMaps V2 - comment changer l'icône du marqueur

j'essaie de changer l'icône du marqueur. J'obtiens l'image à partir d'un répertoire de serveur.

quand je mets break point chaque fois que le résultat "bit" est null. Et quand je lance l'application, j'ai eu moins de!--2-->.

File file = new File("J:!!! DOCUMENTS!OutsourcingAppStoreBenzinostanciiPetrollogo.png");

Bitmap bit = BitmapFactory.decodeFile(String.valueOf(file));

double Dlat = lat.get(index);
double Dlon = lon.get(index);
String info = Arrayinfo.get(index);
String name = Arrayname.get(index);

LatLng coordinate = new LatLng(Dlat, Dlon);
map.addMarker(new MarkerOptions()
    .icon(BitmapDescriptorFactory.fromBitmap(bit))
    .position(coordinate)
    .title(info)
).setSnippet(name);
18
demandé sur JJD 2013-08-28 15:23:38

7 réponses

// latitude and longitude
double latitude = 17.385044;
double longitude = 78.486671;

// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title("Hello Maps");

// Changing marker icon
marker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.my_marker_icon)));

// adding marker
googleMap.addMarker(marker);

Plus D'Info

62
répondu TharakaNirmana 2016-08-28 12:25:22

C'est très simple :

new MarkerOptions().icon(BitmapDescriptorFactory.fromResource(R.drawable.icon))
8
répondu Arash Hatami 2017-12-31 16:55:32

pour les utilisateurs de Xamarin c#:

tappedMarker.Remove();
MarkerOptions markerOptions = new MarkerOptions();
markerOptions.SetTitle(tappedMarker.Title);
markerOptions.SetPosition(tappedMarker.Position);

markerOptions.SetIcon(BitmapDescriptorFactory.DefaultMarker(BitmapDescriptorFactory.HueGreen));
tappedMarker = googleMap.AddMarker(markerOptions);
1
répondu Gustavo Baiocchi Costa 2017-09-22 12:53:42

dans les nouvelles versions de GoogleMaps pour Android vous ne pouvez pas appeler .setIcon() sur un MarkerOptions objet. À la place, vous devez ajouter les options de marqueur à la carte qui vous donnera un Marker sur lequel vous pouvez ensuite changer l'icône.

je Kotlin le code devrait ressembler à ceci:

val markerOptions = MarkerOptions()
markerOptions.position(LatLng(40.419900, -111.880767))
val marker: Marker?  = googleMap?.addMarker(markerOptions)
val bitmapDescriptor = BitmapDescriptorFactory.fromResource(R.drawable.marker_customer_symbol)
marker?.setIcon(bitmapDescriptor)
0
répondu Dan Anderson 2018-09-27 13:59:27

à l'Intérieur "onMapReady(GoogleMap googleMap)"

MarkerOptions marker = new MarkerOptions();
marker.icon(BitmapDescriptorFactory.fromResource(R.drawable._icon));
-1
répondu Muhammad Raza Saeed 2018-03-14 17:50:28
      mMap = googleMap;
 LatLng sydney = new LatLng(Lat,Lng);
       mMap.addMarker(new MarkerOptions().position(sydney).title("Marker in Sydney").icon(BitmapDescriptorFactory.fromResource(R.drawable.icon)));
 mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney,12.0f));
-1
répondu wotan 2018-05-04 11:53:44

Essayez ceci,

  BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.location);
            LatLng bangalore = new LatLng(12.9716, 77.5946);

 MarkerOptions markerOptions = new MarkerOptions().position(bangalore)
          .title("Current Location")
            .snippet("hello").icon(icon);


 mMap.addMarker(markerOptions);
-1
répondu Rishav 2018-06-25 06:25:03