Develop ArcGIS iOS Mobile GIS and GPS Apps in Swift

Create your app with 2D, 3D features for both 2D and 3D maps in an easy way! This course uses ArcGIS Runtime SDK for iOS
Create 2D and 3D GIS iOS applications;
Create GPS iOS applications;
Select and switch basemaps;
Set 3D map camera position and viewpoint;
Retrieve map scale, extent, and coordinates;
Retrieve 3D map elevation data;
Add bookmarks;
Perform geocoding task;
Add stepper for map zooming;
Add slider for changing 3D map view angle;
Add home button;
Add a Callout;
Add a AlertController;
Display GPS location;
Apply different GPS mode like walking, driving, etc.
Rotate a North Arrow with map rotation;
Retrieve GPS heading, speed, accuracy;
Create a webMap and display a webMap;
Turn on/off a webMap operational layer;
Add point, line, polygon features;
Select point, line, polygon symbols;
Use images for symbols from local and online;
Add attributes to point and display to callout;
Animate callout;
Add 3D point, line, polygon features;
Select 3D point, line, polygon symbols;
Create layers from arcgis online for point, line, and polygon;
Style point, line, and polygon symbols;
Display layers to 2D, 3D maps;
Display 3D symbols for point layer created from ArcGIS Online;
Extrude 3D polygon with attributes data for polygon layer created from ArcGIS Online;


  • No programming experience needed;
  • A Mac computer installed with Xcode;
  • Internet connection;
  • A real device for testing is preferred;


“The world we live is full of coordinates and I love it!" - Alfred Lam, the course instructor.

“The essence of creating a beautiful map is balance!" - Alfred Lam, the course instructor.

This is an entry-level course teaching how to add 2D, 3D features to both 2D and 3D maps for mobile iOS applications using the newest ArcGIS Runtime SDK for iOS version 100.x. Code for this course are simple and easy understanding. My goal of this course is to help students learn both 2D and 3D GIS iOS app development easily without wasting their time fumbling in the API library.

GIS stands for Geographic Information System. It is composed of hardware, software, people, environment, and data. Therefore, students with different backgrounds can learn and use GIS. One of my purposes of this course is to convey a concept to students that developing a GIS mobile iOS app for your clients is not difficult. You can spend your minimum time to handle it.

If you are new in this realm, this course is the right place for you to start. There are two versions of the ArcGIS SDK for iOS development by ESRI, which is so far the biggest vendor of GIS systems and applications in the world. Here, I am using the newest version 100.0 or later for this course. Some developers may ask why do we bother to use GIS maps as we already have Google map. My answer is that the Google map is great for you to identify your locations. But its data, functionality, and flexibility are far from enough if you want to create a versatile app with various 2D, 3D maps, to tell a story, to add your own map features, or to perform an analysis to your clients with a map. ArcGIS, on the other hand, is the most comprehensive and advanced GIS in the world and it is capable of performing all these tasks for you.

Time is precious for many app developers and programmers. Surely this course is not possible to cover every details and to meet all demands if you are an experienced developer. For those GIS users, students, iOS developers, and anyone who are interested in developing more decent mobile or web GIS apps. Please be aware of my course announcements about Android, JavaScript, and iOS in the future.  Thank you!

Who this course is for:

  • GIS users
  • Students
  • Developers
  • Entrepreneurs
  • Anyone who are interested in developing GIS 2D and 3D iOS apps

Course content

3 sections25 lectures1h 34m total length
  • Introduction
  • SignUp ArcGIS Developers Account
  • Add ArcGIS SDK Manually
  • Display a Basemap
  • Set Map Viewpoint with Center Point
  • Change Basemap Type
  • Set Map Viewpoint in Envelope
  • Set AGSGeoViewTouchDelegate
  • Retrieve Map Scale
  • Retrieve Map Spatial Reference
  • Convert Map Point Coordinates to WGS84 Format
  • Display WGS84 Coordinates to Callout
  • Remove Water Mark
  • Hide Status Bar


GIS Developer
Alfred Lam
  • 4.2 Instructor Rating
  • 1,175 Reviews
  • 48,872 Students
  • 12 Courses

“The world we live is full of coordinates and I love it!" - Alfred Lam

“The essence of creating a beautiful map is balance!" - Alfred Lam

I am an enthusiastic GIS specialist and I have been using GIS for more than ten years. My previous position was a senior officer at a NGO maintaining geodatabase, doing field data collection, and perform GIS analysis with remote sensing, GIS, and GPS data for the whole organization. With the advent of mobile technology, I have been studying and working hard to code for iOS, Android, and JavaScript. I believe this is one of the most useful technologies that can help people in many aspects.

I am going to dedicate some of my time to be a GIS instrcutor here and teaching is fun. It is also great to let many mobile and web developers to know and use ESRI technology which is so far the best and the most comprehensive GIS system. The part I am giving lectures is even only a very small fraction of the whole ArcGIS system.Please find all my courses and special offers at my profile website. 

Coding is boundless. Like many other teachers, I’d like to share my knowledge and experiences here. As students are from all levels, I try not to make the code complicated. Maybe sometimes my pace is a bit slower, but I tried to make the code effective in a straightforward and simplest way. So that students can understand the mechanism of the code easily.