{"id":1601,"date":"2014-09-13T09:16:10","date_gmt":"2014-09-13T09:16:10","guid":{"rendered":"http:\/\/www.arnoldbiffna.com\/?p=599"},"modified":"2025-09-24T14:35:05","modified_gmt":"2025-09-24T14:35:05","slug":"simple-ios-map-app-in-c-using-xamarin","status":"publish","type":"post","link":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/","title":{"rendered":"iOS Map App Tutorial in C# using Xamarin"},"content":{"rendered":"<div style=\"width: 360px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1601-1\" width=\"360\" height=\"518\" poster=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogpreviews\/locator.jpg\" preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locator.mp4?_=1\" \/><source type=\"video\/webm\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locator.webm?_=1\" \/><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locator.mp4\">https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locator.mp4<\/a><\/video><\/div>\n<h5>Preface<\/h5>\n<p><a title=\"Xamarin web site\" href=\"http:\/\/xamarin.com\" target=\"_blank\" rel=\"noopener\">Xamarin<\/a> is a powerful development environment for creating apps for multiple platforms, using the same C# code base. The new <a title=\"Xamarin Forms\" href=\"http:\/\/developer.xamarin.com\/guides\/cross-platform\/xamarin-forms\/\" target=\"_blank\" rel=\"noopener\">Xamarin Forms<\/a> technology will even allow you to use most of your UI code between different mobile platforms. Just have to say I LOVE this technology because I can make Android &amp; iOS apps from the same code, rather than using 2 or 3 other languages.<\/p>\n<p>Onto our app.. This example is meant to be simple and quick, and give you a taste of Xamarin development. We are going to make an app that shows a map, and then zooms into your current location when you click a button.<\/p>\n<h5>Prerequisites<\/h5>\n<p>You can deploy this app to the iOS Simulator or a real iOS device if you have that set up on your Mac already. Oh yeah, you&#8217;ll need a Mac, otherwise you&#8217;d have to do this somewhat differently on a PC using Visual Studio with Xamarin plugins. The app may be too big to deploy using the Xamarin <a title=\"Xamarin Versions\" href=\"https:\/\/store.xamarin.com\">Starter edition<\/a> on its own. If you try to publish for iOS and get messages about the app size, take the option to start a free trial.<\/p>\n<h5>Create an iPhone App<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>First thing we want to do is create an iPhone app project in Xamarin. Choose <em>File<\/em> &gt; <em>New Solution<\/em><\/li>\n<li>Give this solution the <em>Name<\/em> <strong>Locator<\/strong>. Xamarin will generate a project that should look like this:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator1.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator1.jpg\" alt=\"\" \/><\/a><\/p>\n<h5>Visually Build the Screen<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Next, we visually build our app screen with some standard iOS components. To do that, go to the <em>Solution<\/em> pane on the left and double click the file <em>MainStoryboard.storyboard<\/em>. You should get a blank storyboard like this:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator2.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator2.jpg\" alt=\"\" \/><\/a><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Note the <em>Toolbox<\/em> and <em>Properties<\/em> panes. We are going to drag components from the <em>Toolbox<\/em> onto the storyboard, size and position them, and then customize them in the <em>Properties<\/em>. Drag these components from the <em>Toolbox<\/em> onto the storyboard so it looks like the image below:a) Label\n<p>b) Button<\/p>\n<p>c) Map Kit View<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator3.jpg\" target=\"pic\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator3.jpg\" alt=\"\" \/><\/a><\/p>\n<h5>Customize Components and Add Hooks for the Code<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>To resize components, just grab an edge and drag. Let&#8217;s start with the <em>Label<\/em> first. Click on it and then go to the <em>Properties<\/em> pane in the Widgets. Change the <em>Text<\/em> property from &#8220;Label&#8221; to &#8220;Locator&#8221;<\/li>\n<li>Next, lets give the <em>Map Kit View<\/em> a hook so we can access it in code. Click on it and set the <em>Name<\/em> property to &#8220;myMap&#8221;.<\/li>\n<li>Finally, click on the <em>Button<\/em> and change the <em>Title<\/em> text to &#8220;Find Me&#8221;<\/li>\n<li>Set the <em>Name<\/em> property to &#8220;findMeButton&#8221;<\/li>\n<li>To detect the user pressing the button, we could set up the <em>Events<\/em> tab and write functions or we could let Xamarin generate this code for us. Double-Click the <em>Button<\/em> on the storyboard and Xamarin should switch you to the <em>LocatorViewController.cs<\/em> <strong>tab<\/strong>, where you&#8217;ll see this yellow code hint:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator4.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator4.jpg\" alt=\"\" \/><\/a><\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Press <strong>Enter<\/strong> and Xamarin should generate this code:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">partial void findMeButton_TouchUpInside (UIButton sender)\n{\n    throw new NotImplementedException ();\n}\n<\/pre>\n<h5>Start Coding<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Lets save our work at this time using <em>File&gt;Save All<\/em><\/li>\n<li>Now, lets replace the code in the <em>findMeButton_TouchUpInside<\/em> function. Add the line:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">partial void findMeButton_TouchUpInside (UIButton sender)\n{\n    MKCoordinateRegion region;\n}\n<\/pre>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Notice the variable type is red, which means that the class you are editing doesn\u2019t know what a <strong>MKCoordinateRegion<\/strong> is. To fix, right click on it, and choose <em>Resolve&gt;Using MonoTouch.MapKit<\/em>. If you scroll to the top of the class, you\u2019ll see the <em>MapKit<\/em> class was imported. Now lets enter the rest of the code. The function should look like this:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">partial void findMeButton_TouchUpInside (UIButton sender)\n{\n    MKCoordinateRegion region;\n    MKCoordinateSpan span;\n    region.Center=myMap.UserLocation.Coordinate;\n    span.LatitudeDelta=0.005;\n    span.LongitudeDelta=0.005;\n    region.Span=span;\n    myMap.SetRegion( region, true );\n}\n<\/pre>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>You\u2019ll notice as you type that Xamarin is suggesting code for you. This is similar to the IntelliSense feature in Visual Studio on the PC, and also several other programming IDEs. Next we need to add one more line of code to a different function. Scroll up to the <em>ViewDidLoad<\/em> function, and add the <strong>myMap<\/strong> line:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">public override void ViewDidLoad ()\n{\n    base.ViewDidLoad ();\n    \/\/ Perform any additional setup after loading the view\n    myMap.ShowsUserLocation=true;\n}\n<\/pre>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Save your work and lets try this app out. Assuming you have the iOS simulator installed on your system, or have published to your iPhone before, press the Debug Button<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator5.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/locator5.jpg\" alt=\"\" \/><\/a><\/p>\n<p><a title=\"source\" href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogimages\/LocatorSource.zip\" target=\"_blank\" rel=\"noopener\">download source<\/a><\/p>\n<h5>Test and Debug<\/h5>\n<p>Since the iOS simulator does not have a real location service like your iPhone, it will simulate one. You can change the current simulated location in the iOS Simulator using <em>Debug &gt; Location &gt; Custom Location<\/em> and setting the longitude and latitude. You can also simulate a moving location as demonstrated in this video:<\/p>\n<div style=\"width: 512px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-1601-2\" width=\"512\" height=\"514\" poster=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogpreviews\/locatorDemo.jpg\" preload=\"auto\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locatorDemo.mp4?_=2\" \/><source type=\"video\/webm\" src=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locatorDemo.webm?_=2\" \/><a href=\"https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locatorDemo.mp4\">https:\/\/d3od4vl78dd97d.cloudfront.net\/blogvideo\/locatorDemo.mp4<\/a><\/video><\/div>\n<h5>Update for iOS 8<\/h5>\n<p>Just finished this post a week before iOS 8 officially rolled out and the update caused the application to break. I started getting this error message:<br \/>\n<em>Trying to start MapKit location updates without prompting for location authorization. Must call -[CLLocationManager requestWhenInUseAuthorization] or -[CLLocationManager requestAlwaysAuthorization] first.<\/em><\/p>\n<p>A few extra steps are required to make this work in iOS 8 now:<\/p>\n<h5>Edit the Property List File (plist)<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>In the <em>Solution<\/em> pane on the left, look for the file <strong>Info.plist<\/strong>.<\/li>\n<li>Double click it to open the tab for it<\/li>\n<li>At the bottom of the window, click on the <em>Source<\/em> tab<\/li>\n<li>Click on the green plus symbol to add a new entry<\/li>\n<li>Change the text <strong>Custom Property<\/strong> to <strong>NSLocationWhenInUseUsageDescription<\/strong><\/li>\n<li>Click on the <em>Value<\/em> field for this entry and enter a message to prompt the user for location access such as <strong>Please allow this app to access your location.<\/strong><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h5>Add some C#<\/h5>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Add this <em>locationManager<\/em> variable under the class definition. If the CCLocationManager is red, right click and choose <em>Resolve&gt;Using MonoTouch.CoreLocation<\/em><\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">public partial class LocatorViewController : UIViewController\n{\n\tCLLocationManager locationManager;\n\n<\/pre>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Update the <em>ViewDidLoad<\/em> function to look like this:<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<pre class=\"brush:csharp\">public override void ViewDidLoad ()\n{\n\tbase.ViewDidLoad ();\n\t\/\/ Perform any additional setup after loading the view, typically from a nib.\n\tlocationManager = new CLLocationManager();\n\tlocationManager.RequestWhenInUseAuthorization();\n\tmyMap.ShowsUserLocation=true;\n}\n<\/pre>\n<p>Again, this last section is only for iOS 8, so you would not need to do this for iOS 7.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Preface Xamarin is a powerful development environment for creating apps for multiple platforms, using the same C# code base. The new Xamarin Forms technology will even allow you to use most of your UI code between different mobile platforms. Just have to say I LOVE this technology because I can make Android &amp; iOS apps &hellip; <a href=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;iOS Map App Tutorial in C# using Xamarin&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":1867,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2,9],"tags":[18,25,29,37],"class_list":["post-1601","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-c-vb-net","category-xamarin","tag-c","tag-ios","tag-map-kit-view","tag-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio\" \/>\n<meta property=\"og:description\" content=\"Preface Xamarin is a powerful development environment for creating apps for multiple platforms, using the same C# code base. The new Xamarin Forms technology will even allow you to use most of your UI code between different mobile platforms. Just have to say I LOVE this technology because I can make Android &amp; iOS apps &hellip; Continue reading &quot;iOS Map App Tutorial in C# using Xamarin&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/\" \/>\n<meta property=\"og:site_name\" content=\"Arnold Biffna Portfolio\" \/>\n<meta property=\"article:published_time\" content=\"2014-09-13T09:16:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-24T14:35:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"200\" \/>\n\t<meta property=\"og:image:height\" content=\"200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Arnold Biffna\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arnold Biffna\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/\"},\"author\":{\"name\":\"Arnold Biffna\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"headline\":\"iOS Map App Tutorial in C# using Xamarin\",\"datePublished\":\"2014-09-13T09:16:10+00:00\",\"dateModified\":\"2025-09-24T14:35:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/\"},\"wordCount\":1008,\"publisher\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"image\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/locatorDemo.jpg\",\"keywords\":[\"C#\",\"iOS\",\"Map Kit View\",\"tutorial\"],\"articleSection\":[\"C# VB .NET\",\"Xamarin\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/\",\"name\":\"iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/locatorDemo.jpg\",\"datePublished\":\"2014-09-13T09:16:10+00:00\",\"dateModified\":\"2025-09-24T14:35:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#primaryimage\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/locatorDemo.jpg\",\"contentUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2014\\\/09\\\/locatorDemo.jpg\",\"width\":200,\"height\":200},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/2014\\\/09\\\/13\\\/simple-ios-map-app-in-c-using-xamarin\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"iOS Map App Tutorial in C# using Xamarin\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#website\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/\",\"name\":\"Arnold Biffna Portfolio\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/#\\\/schema\\\/person\\\/248c0dc4cc332f12f120d4734ca0ae8f\",\"name\":\"Arnold Biffna\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"contentUrl\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\",\"width\":960,\"height\":960,\"caption\":\"Arnold Biffna\"},\"logo\":{\"@id\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/wp-content\\\/uploads\\\/2025\\\/04\\\/profile.jpg\"},\"sameAs\":[\"http:\\\/\\\/arnoldbiffna.com\"],\"url\":\"https:\\\/\\\/portfolio.arnoldbiffna.com\\\/index.php\\\/author\\\/arnoldbiffna-2\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/","og_locale":"en_US","og_type":"article","og_title":"iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio","og_description":"Preface Xamarin is a powerful development environment for creating apps for multiple platforms, using the same C# code base. The new Xamarin Forms technology will even allow you to use most of your UI code between different mobile platforms. Just have to say I LOVE this technology because I can make Android &amp; iOS apps &hellip; Continue reading \"iOS Map App Tutorial in C# using Xamarin\"","og_url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/","og_site_name":"Arnold Biffna Portfolio","article_published_time":"2014-09-13T09:16:10+00:00","article_modified_time":"2025-09-24T14:35:05+00:00","og_image":[{"width":200,"height":200,"url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg","type":"image\/jpeg"}],"author":"Arnold Biffna","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Arnold Biffna","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#article","isPartOf":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/"},"author":{"name":"Arnold Biffna","@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"headline":"iOS Map App Tutorial in C# using Xamarin","datePublished":"2014-09-13T09:16:10+00:00","dateModified":"2025-09-24T14:35:05+00:00","mainEntityOfPage":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/"},"wordCount":1008,"publisher":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"image":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#primaryimage"},"thumbnailUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg","keywords":["C#","iOS","Map Kit View","tutorial"],"articleSection":["C# VB .NET","Xamarin"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/","url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/","name":"iOS Map App Tutorial in C# using Xamarin - Arnold Biffna Portfolio","isPartOf":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#primaryimage"},"image":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#primaryimage"},"thumbnailUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg","datePublished":"2014-09-13T09:16:10+00:00","dateModified":"2025-09-24T14:35:05+00:00","breadcrumb":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#primaryimage","url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg","contentUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2014\/09\/locatorDemo.jpg","width":200,"height":200},{"@type":"BreadcrumbList","@id":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/2014\/09\/13\/simple-ios-map-app-in-c-using-xamarin\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/portfolio.arnoldbiffna.com\/"},{"@type":"ListItem","position":2,"name":"iOS Map App Tutorial in C# using Xamarin"}]},{"@type":"WebSite","@id":"https:\/\/portfolio.arnoldbiffna.com\/#website","url":"https:\/\/portfolio.arnoldbiffna.com\/","name":"Arnold Biffna Portfolio","description":"","publisher":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/portfolio.arnoldbiffna.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/portfolio.arnoldbiffna.com\/#\/schema\/person\/248c0dc4cc332f12f120d4734ca0ae8f","name":"Arnold Biffna","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","url":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","contentUrl":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg","width":960,"height":960,"caption":"Arnold Biffna"},"logo":{"@id":"https:\/\/portfolio.arnoldbiffna.com\/wp-content\/uploads\/2025\/04\/profile.jpg"},"sameAs":["http:\/\/arnoldbiffna.com"],"url":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/author\/arnoldbiffna-2\/"}]}},"_links":{"self":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/comments?post=1601"}],"version-history":[{"count":1,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1601\/revisions"}],"predecessor-version":[{"id":1804,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/posts\/1601\/revisions\/1804"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/media\/1867"}],"wp:attachment":[{"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/media?parent=1601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/categories?post=1601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/portfolio.arnoldbiffna.com\/index.php\/wp-json\/wp\/v2\/tags?post=1601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}