I have a UITableView
which may potentially contain a large number of cells, and in some cells I want a UIImageView
showing a map of a location, the coordinates of which are known only at runtime.
I want the table view to scroll smoothly and I want the maps in the cells to not be scrollable at all.
I've been directed to avoid Apple Maps. Besides, MKMapSnapshotter
is iOS 7 and up. I have to support iOS 6.
So is Google Maps image API my best option?
I'm already using the Google Maps iOS SDK anyway, so I'd like to use it for this if possible. But does it have this feature? An equivalent to MKMapSnapshotter
? I'm surprised I can't find it in the documentation.
There used to be a GMSScreenshot
class in the SDK, that could be used to take screenshots. However in v1.2 Google removed this, as you could use renderInContext
instead. You can see some background info and sample code here:
Google Maps IOS SDK 1.2 need snapshot of map view
Issue taking screen capture of GMSMapView on Google Maps SDK for iOS
https://developers.google.com/maps/documentation/ios/releases#version_12_-_april_2013
I think though that renderInContext
(and GMSScreenshot
before it) is designed for taking a screenshot of a map view that is already on a view, has been displayed for a while, has downloaded map tiles etc. I'm not sure that it would work well if you created a map view in the background, set the camera position to your desired lat/lon, rendered it to an image, and then repeated for the other locations you want.
So, I suspect that the Google Maps image API would work better for what you are doing.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With