How to zoom in on map tiles instead of drawing next zoom level - iphone

I've been using this code to display OpenCycleMap tiles on my app's mapview, but if I zoom in too far the map tiles will disappear. Since OCM tiles may not exist at close zoom levels (say, 15 or 16 for a certain area), they just don't appear when drawing the maps for a certain zoom level, and the mapview only shows the Google Street map that is underneath the OCM overlay.
Is there a way to edit the code to make the mapview display whichever map tiles are available for an area, but resized for the region that the mapview shows?

Related

Draw polylines only within screen view Flutter GoogleMaps

Can you draw polylines only within the bounds so that any polylines outside of the screen’s bounds won't be drawn, therefore, saving rendering time and improving performance when displaying a large set of polylines?

Move marker/labels within area to avoid clashes with clusters in Leaflet

I've trying to display point data and areas with labels using Leaflet. The point data is in a markerClusterGroup and the points pop in and out of clusters according to zoom. Also on the map are large areas representing national parks and each park has a marker currently drawn using the GeoJson's centre property. At some zoom levels the pins drawn for the point data have labels which stick out to the side and clash with the area shape labels. I'd like to be able to assign the area shape label to the area and have Leaflet draw it anywhere within that shape that doesn't clash with a point data marker. This would also mean that if the user zoomed in far enough that some of the national park area was not visible, the label would still be shown rather than attached to a specific location within the area which might be off screen.
Is this possible?

Mapbox - Do map tiles get unloaded?

When zooming into the map, do the tiles ever get unloaded? Or do they just stack on top of each other? For example - if I zoom in from zoom level 4 to zoom level 6, do the new set of tiles replace the old ones? Or do they simply cover them?
The reason I am asking is that I am loading a 3D terrain mesh on top of each tile that loads, but I have found that I am getting multiple terrains stacking on top of each other (refer to my aforementioned zoom level example).
Ideally I would like to simply unload the terrain cover whenever the corresponding tile unloads, but the mapbox-gl library does not seem to expose that event...
Any info on this subject would help me figure out a working solution. Thanks!

How show circle around annotation how in google maps

I use MKMapView.
How to show circle around annotation how in google maps ( when show current user location).
This circle moving with animation to new location and radius of circle dependent from current zoom level.
The annotations themselves don't have a property for showing a circle but you can use a circle overlay with the same center as the coordinate of the annotation to achieve this effect, just like the image below (from one of my projects).
Note: the property for the center of the circle is called "coordinate", just as for the annotations.
The second part is animating the movement. You achieve this by animating the coordinate property of the circle overlay at the same time as the coordinate property of the annotation. This way they will both move together to the new location.
This question can help you with how to move and animate the position of an annotation. If you need the radius of the circle to change at the same time (e.g. when animating the coordinate) you just use Core Animation to animate it together with the coordinate.
Concerning changing the size depending on the zoom level, Map Kit will always handle this for you automatically with Overlays and Annotations so that they always cover the same area of the map, even as the map resizes. (The second image is the same annotations and overlays as below, just zoomed in on the ones to the left (closer to Stockholm in the first image)).

MapKit Show Entire Globe

I am trying to draw the entire globe inside my MKMapView. By pinching to zoom out I am limited to zooming out to a certain level. I would like to be able to zoom out past this level to show the entire globe on the map. This doesn't seem like it would be very difficult, but I have been unable to find any solution.
The map inside an MKMapView doesn't repats on the sides, so you can't zoom out far enough to view the whole world.
Solution: Write your own renderer (very hard task, working with coordinates on a surface like the earth is a pain).