NAMapKit alternatives and similar libraries
Based on the "Maps" category.
Alternatively, view NAMapKit alternatives based on common mentions on social networks and blogs.
-
Mapbox GL
DISCONTINUED. Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL -
CMMapLauncher
CMMapLauncher is a mini-library for iOS that makes it quick and easy to show directions in various mapping applications. -
JDSwiftHeatMap
JDSwiftMap is an IOS Native MapKit Library. You can easily make a highly customized HeatMap. -
MapViewPlus
DISCONTINUED. Use any custom view as custom callout view of your MKMapView with cool animations. Also, easily use any image as annotation view. -
GoogleMapsHelper
An easy to integrate Model Based Google Maps Helper (SVHTTPClient, AFNetworking) That lets you Geo Code , Reverse Geocode, Get Directions , Places Autocomplete. -
GLMap
Crossplatform offline vector map with MapCSS styling. Offline search and offline navigation are included.
InfluxDB - Purpose built for real-time analytics at any scale.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of NAMapKit or a related project?
README
NAMapKit
Lets you drop pins or custom annotations onto a standard UIImage
or a tiled NATiledImageView
. Includes callouts, multi-colored pins, animation, zoom and gestures support.
[Animated Demo](Demo/Screenshots/namapkit.gif)
Get started by running pod try NAMapKit
in your terminal.
Usage
Default Annotations
Create a NAMapView
in a view controller.
NAMapView *mapView = [[NAMapView alloc] initWithFrame:self.view.bounds];
mapView.backgroundColor = [UIColor colorWithRed:0.000f green:0.475f blue:0.761f alpha:1.000f];
mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
mapView.minimumZoomScale = 0.5f;
mapView.maximumZoomScale = 1.5f;
[mapView displayMap:[UIImage imageNamed:@"australia"]];
[self.view addSubview:mapView];
Add NADotAnnotation
annotations.
NADotAnnotation *dot = [NADotAnnotation annotationWithPoint:CGPointMake(543.0f, 489.0f)];
[mapView addAnnotation:dot animated:NO];
Custom Annotations
The implementation of NADotAnnotation
places a red semi-transparent dot on the map. For custom annotations, subclass [NAAnnotation](NAMapKit/NAAnnotation.h) and implement createViewOnMapView
that returns a custom annotation view. You could also implement a custom animation to drop an annotation onto the map by implementing addToMapView
, or center the annotation depending on your custom logic by overriding updatePosition
.
You can find a complete custom annotation example of multi-colored pins in [NAPinAnnotation.h](NAMapKit/NAPinAnnotation.h)/[.m](NAMapKit/NAPinAnnotation.m) and a popup menu demo in [NAPinAnnotationsPopupMenuDemoViewController.h](Demo/Demo/NAPinAnnotationsPopupMenuDemoViewController.h)/[.m](Demo/Demo/NAPinAnnotationsPopupMenuDemoViewController.m).
[circular pop-up animated demo](Demo/Screenshots/namapkit2.gif)
Delegates
You can capture finger taps and zoom changes by registering a mapViewDelegate
with the map. The delegate must implement the [NAMapViewDelegate](NAMapKit/NAMapViewDelegate.h) protocol.
@implementation DemoViewController
- (void)viewDidLoad
{
// Register the view controller as the map's delegate
self.mapView.mapViewDelegate = self;
}
- (void)mapView:(NAMapView *)mapView tappedOnAnnotation:(NAPinAnnotation *)annotation
{
// Invoked when a user taps an annotation
}
- (void)mapView:(NAMapView *)mapView hasChangedZoomLevel:(CGFloat)level
{
// Invoked when the map zoom level changes
}
@end
See [NAAnnotationDemoViewController.m](Demo/Demo/NAAnnotationDemoViewController.m) for a complete example.
Tiled Maps
NAMapKit comes with [NATiledImageMapView](NAMapKit/NATiledImageMapView.h), which supports tiled maps. A typical organization for deep zoom map tiles consists of a folder for each zoom level and individual JPG files for each tile. You can see an example of such files [here](Demo/Maps/Armory2014/tiles). NAMapKit uses ARTiledImageView. You can generate tiles using dzt or any other tool listed with the OpenSeadragon project.
For a complete example of a tiled map, see [NATiledImageDemoViewController.m](Demo/Demo/NATiledImageDemoViewController.m).
Custom Gestures
NAMapKit exposes it's two double tap gestures so that you can use delaysTouchesBegan
to prioritise the double tap over a map point tap. Or to just replace them entirely yourself.
Notes
If you are using Interface Builder, you can add a UIScrollView to your XIB and change the class to NAMapView
to use the framework.
License
This project is licensed under the [MIT license](LICENSE).
Attribution
When using this code please include the following attribution:
Includes NAMapKit code developed by Neil Ang, Tony Arnold, Daniel Doubrovkine and Orta Therox.
*Note that all licence references and agreements mentioned in the NAMapKit README section above
are relevant to that project's source code only.