Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Maps API v2: Polyline gets drawn under tile overlay

I'm trying to draw a tile overlay and a poly line to a google map. I would like the poly line to be rendered on top of the tile overlay so it can be seen. Currently it's drawn under the tile overlay and disappears , my code is as follows:

// Draw the tile overlay
NBUrlTileProvider tileProvider = new NBUrlTileProvider(url, 256, 256);

TileOverlayOptions tileOverlayOptions = new TileOverlayOptions()
                    .tileProvider(tileProvider)
                    .fadeIn(true);

mMap.addTileOverlay(tileOverlayOptions);

// Draw the poly line
PolylineOptions polyLineOptions = new PolylineOptions();

polyLineOptions.width(5).geodesic(true).color(Color.rgb(255, 0, 255));

polyLineOptions.add(location1);
polyLineOptions.add(location2);
polyLineOptions.add(location3);

mMap.addPolyline(polyLineOptions);

Any help would be very much appreciated, I thought that poly lines would just get drawn on top of tile overlays by default, is there anything extra I have to add?

like image 708
Gyroscope Avatar asked Apr 11 '14 06:04

Gyroscope


2 Answers

Solution was to use:

Polyline polyline = mMap.addPolyline(polyLineOptions);

polyline.setZIndex(1000); //Or some large number :)
like image 131
Gyroscope Avatar answered Nov 14 '22 19:11

Gyroscope


You should consider pushing the tiles overlay to the back (I simpyl use -500) instead of pushing the polylines to the front, because they will then be drawn over markers (and cluster markers).

overlay = map.addTileOverlay(new TileOverlayOptions().tileProvider(new MyUrlTileProvider(512, 512, "xxx")).zIndex(-500));

@Gyroscope

like image 2
Denny Weinberg Avatar answered Nov 14 '22 20:11

Denny Weinberg