A beginner-friendly SwiftUI-based iOS app that displays predefined location data on a map. The app is built to explore and understand how to integrate MapKit with SwiftUI, use annotations, and navigate between different points of interest.
📍 Display Predefined Locations on Map
📌 Add Annotation for Each Location
🔄 Switch Between Available Locations
➡️ "Next" Button to Cycle Through Locations
ℹ️ Learn More with Details and Images
🔗 Link to Wikipedia for Each Location
🎨 Simple SwiftUI Interface for Learning
📱 Responsive Layout for iPhone & iPad
🧭 MVVM Architecture for Clean Code
🧩 Reusable Views and Components
🌙 Dark Mode Support
🧑💻 Language: Swift
🖼️ UI Framework: SwiftUI
🗺️ Maps: Apple MapKit
📦 Architecture: MVVM
🛠️ State Management: Combine
💻 IDE: Xcode
🚀 Deployment Target: iOS 15+
├── MapApplication.xcodeproj
| ├── project.pbxproj
| ├── project.xcworkspace
| │ └── contents.xcworkspacedata
| └── xcuserdata
├── MapApplication
| ├── Assets.xcassets
| │ ├── AccentColor.colorset
| │ │ └── Contents.json
| │ ├── AppIcon.appiconset
| │ ├── Contents.json
| │ ├── Locations
| │ │ ├── Contents.json
| │ │ ├── Paris
| │ │ └── Rome
| │ └── Logos
| ├── ContentView.swift
| ├── DataServieces
| │ └── LocationsDataService.swift
| ├── Info.plist
| ├── Models
| │ └── Location.swift
| ├── ViewModels
| │ └── LocationsViewModel.swift
| └── Views
| │ ├── LocationDetailView.swift
| │ ├── LocationListView.swift
| │ ├── LocationMapAnnotationView.swift
| │ ├── LocationPreviewView.swift
| │ └── LocationsView.swift
└── MapApplicationApp.swift
- Xcode (latest stable version)
- iOS SDK (latest)
- Basic understanding of SwiftUI
git clone https://github.com/SameerNadaf/MapApplication.git
cd MapApplication
open MapApplication.xcodeproj
- Choose your simulator or physical iOS device
- Press Cmd + R to build & run
- Launch the app to see a predefined location on the map
- Tap Next to view another location
- Click Learn More to see details, images, and a Wikipedia link
This app was created as a hands-on learning project to explore:
- SwiftUI integration with MapKit
- MVVM architecture in iOS apps
- Managing multiple views and data
- Basic user interaction with maps
This is a learning-focused project, but feel free to fork and play with it! Suggestions and pull requests are welcome.
MIT License
Developed by Sameer Nadaf GitHub: SameerNadaf ⭐️ Drop a star if you found this helpful for your learning!
- Apple MapKit for map integration
- SwiftUI & Combine frameworks
- Open-source SwiftUI learning resources