Latest 0.1.8
License MIT
Platforms ios 11.0
Frameworks UIKit, ARKit, CoreLocation, GLKit

ARCoreLocation is a lightweight and configurable iOS framework for displaying AR content at real-world coordinates.


• Easily create AR scenes that place AR objects in the real world

• Place AR objects at any geographic location without worrying about ARKit’s implementation details

• Receive tap events on your AR content

• Receive events when AR content overlaps on-screen



Enter this in your Podfile:

pod 'ARCoreLocation', '~> 0.1.8'

Then run pod install. Remember to import ARCoreLocation in any file where you want to use it!



Create the ARLandmarker and add its view:

let landmarker = ARLandmarker(view: ARSKView(), scene: InteractiveScene(), locationManager: CLLocationManager())
landmarker.view.frame = self.view.bounds
landmarker.scene.size = self.view.bounds.size

Add Landmarks to the scene:

let landmarkLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 75, height: 20))
landmarkLabel.text = "Statue of Liberty"
let location = CLLocation(coordinate: CLLocationCoordinate2D(latitude: 40.689234, longitude: -74.044524), altitude: 30, horizontalAccuracy: 5, verticalAccuracy: 5, timestamp: Date())
landmarker.addLandmark(view: landmarkLabel, at: location, completion: nil)

User Interaction

Get User Interaction events:

landmarker.delegate = self


extension ViewController: ARLandmarkerDelegate {
    func landmarkDisplayer(_ landmarkDisplayer: ARLandmarker, didTap landmark: ARLandmark) {

    func landmarkDisplayer(_ landmarkDisplayer: ARLandmarker, didFailWithError error: Error) -> Void {

Overlapping Landmarks

Use different strategies for overlapping landmarks:

landmarker.overlappingLandmarksStrategy = .showAll
landmarker.overlappingLandmarksStrategy = .showNearest
landmarker.overlappingLandmarksStrategy = .showFarthest
landmarker.overlappingLandmarksStrategy = .custom(callback: { (overlappingLandmarkGroups, notOverlappingLandmarks) in
    // Check overlapping groups and react accordingly

Request the landmarker to check for overlapping landmarks at a given interval:

// Check for overlaps every second
landmarker.beginEvaluatingOverlappingLandmarks(atInterval: 1)

Or check for overlapping landmarks immediately

// ... Or check immediately

Latest podspec

    "name": "ARCoreLocation",
    "platforms": {
        "ios": "11.0"
    "version": "0.1.8",
    "summary": "Place AR landmarks on real-world locations.",
    "description": "ARCoreLocation is a lightweight iOS framework for displaying AR contentnat real-world coordinates.",
    "homepage": "",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    "authors": {
        "Skyler Smith": "[email protected]"
    "source": {
        "git": "",
        "tag": "0.1.8"
    "source_files": "ARCoreLocation/**/*.{swift}",
    "frameworks": [
    "swift_version": "4.2"

Pin It on Pinterest

Share This