Is there a way to increase the maximum zoom level of MKMapKit? As I zoom in further - eventually it no longer allows me to continue to zoom. Can this be overridden to allow for higher zoom levels?
No, you cannot.
The Map is compiled by google and has its limitations on how close you can zoom in. IF they were to update their maps to an even higher resolution and depth, the iOS SDK will hopefully be adapted accordingly.
You could cheat around this by enabling the accessibility options which then give you the possibility to zoom in the entire iPhone using a three-finger-tap.
Related
I'm using the Bing Maps v8 control.
I can set the zoom level to 20 at a specific location (33.736167, -117.977764) and it is definitely zoomed in more than zoom level 19 on both mobile and desktop. But if I set zoom level to 19, on the desktop I can zoom in to 20 but on mobile, I'm stuck at 19 (I can zoom out but not in).
I've tried setting maxZoomLevel when I create the map as well as by doing a setOptions with maxZoomLevel both before and after doing the setView on the map. I've also tried setting the zoom level to 20 when I create the map, again to no avail.
Here's a snippet:
var map = new Microsoft.Maps.Map(document.getElementById('myMap'), { mapTypeId: Microsoft.Maps.MapTypeId.aerial, zoom: 20});
map.setView({center: new Microsoft.Maps.Location(33.736167, -117.977764), zoom: 20});
var pushpin = new Microsoft.Maps.Pushpin(map.getCenter(), null);
map.entities.push(pushpin);
You can see it working on desktop by pasting the snippet above here and hitting run:
https://www.bing.com/api/maps/sdk/mapcontrol/isdk/adddefaultpushpin#JS
Unfortunately, this playground won't let you customize the scripts when in mobile mode and the behavior doesn't reproduce when you switch chrome back and forth to mobile in the playground (I can get it to reproduce by switching to mobile in chrome developer tools in my own application and doing a refresh - but in the playground refresh in mobile).
I suspect the reason for this is that if you are using a mobile device with a high resolution screen (i.e. retina display), the map loads tiles from the next zoom level so as to double the pixel density of the rendered map.
That said, I'm not certain why you would be able to load a map at level 20 but not zoom into it in the same browser for the same location. However, if you are zooming into a different location, it is possible that tiles aren't available at zoom level 20 and thus the map doesn't let you zoom in. I recall Bing Maps having variable zoom levels since high detailed aerial imagery is only available in selected location.
I am using Google Maps SDK on iOS using Swift, and have tried to get the map to go under the safe area, but it always respects the safe area.
I have attached the storyboard setup in the images.
How would I stop respecting the safe area and fill it?
We are using Coreplot to draw Charts in our IOS application, however we can't make the charts support zooming or panning. We are still running the application on the emulator didn't install on a real device yet because we are waiting for the Developer ID from Apple. Does any one know if Coreplot support these features?
Thanks in advance
Short answer: yes, Core Plot supports zooming and panning.
You have to set the allowsUserInteraction bool of your plot space to YES.
See this link for more information.
Also, if you want to test zooming in the simulator, you can do this by pressing the alt button and click+drag with your mouse. Panning is just normal click+drag.
I'm currently developing an app that has a camera functionality, with a custom camera screen, featuring a preview screen and an overlay.
I'm using the AVFoundation classes and methods as per the eradication of UIScreenCapture.
The problem I have is that the preview data I get from AVCaptureSession is too zoomed in. If i take a picture with that screen, and another with the iPhone's default camera app, without moving the iPhone, the difference in zoom is far too much.
I need the zoom of my app to be the same as is default for iPhone camera app.
I've tried changing the AVCaptureVideoPreviewLayer.videoGravity, to any of it's 3 possible values, to no avail.
Please, any leads on this problem are truly appreciated.
Arcantos' solution was mostly correct. That will work assuming you're on an iPhone 3G (or any device with a camera that supports 640x480). An iPhone 4 may run into some issues there.
A more correct way would be to test for the availability of and apply this preset:
captureSession.sessionPreset = AVCaptureSessionPresetPhoto;
This will use the raw camera data, regardless of the native resolution.
Turned out to be a resolution issue.
It was fixed by using
myCaptureSession.sessionPreset = AVCaptureSessionPreset640x480
Note that iPhone 3g does not support that, so you have to ask wheter the device supports it
[[AVCaptureDevice defaultDeviceWithMediaType:AVMediaTypeVideo] supportsAvCaptureSessionPreset:AVCaptureSessionPreset640x480]
Is the aspect ratio of your preview pane identical to that of the camera capture data? If not, the OS may be changing the zoom to fit the data rect into your requested aspect ratio.
I am just curious as to how current ZOOM-Camera Apps on the AppStore are implemented (Are they using undocumented APIs?)
They're probably just cropping into a section of a photo, and interpolating it bigger. Since there's no hardware zoom in the phone, you have to "fake" it.