الجغرافيا المكانية والخرائط في Kotlin: نظرة عامة على المكتبات والأدوات

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

الجغرافيا المكانية والخرائط في Kotlin: نظرة عامة شاملة على الأدوات



Kotlin، باعتبارها لغة برمجة حديثة لتطوير تطبيقات Android والتطوير من جانب الخادم، توفر للمطورين أدوات قوية للعمل مع الجغرافيا المكانية والخرائط. في هذه المقالة، سنستعرض المكتبات والأدوات الرئيسية التي ستتيح لك دمج خدمات الخرائط ووظائف تحديد الموقع بسهولة في مشاريعك باستخدام Kotlin.



1. Google Maps SDK لنظام Android (Kotlin)



Google Maps SDK هي الأداة الأكثر شيوعًا ووظيفية للعمل مع الخرائط في تطبيقات Android. توفر مجموعة كاملة من واجهات برمجة التطبيقات (API) لعرض الخرائط، وإضافة العلامات، والمضلعات، والتحكم في الكاميرا، والحصول على معلومات الموقع.



للبدء، أضف التبعية في ملف build.gradle.kts:



dependencies {    implementation("com.google.android.gms:play-services-maps:18.2.0")    implementation("com.google.android.gms:play-services-location:21.0.1")}


مثال على إضافة خريطة في Activity باستخدام SupportMapFragment:



import android.os.Bundleimport androidx.appcompat.app.AppCompatActivityimport com.google.android.gms.maps.GoogleMapimport com.google.android.gms.maps.OnMapReadyCallbackimport com.google.android.gms.maps.SupportMapFragmentimport com.google.android.gms.maps.model.LatLngimport com.google.android.gms.maps.model.MarkerOptions

class MapsActivity : AppCompatActivity(), OnMapReadyCallback {

private lateinit var googleMap: GoogleMap

override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_maps)

val mapFragment = supportFragmentManager .findFragmentById(R.id.map) as SupportMapFragment mapFragment.getMapAsync(this) }

override fun onMapReady(map: GoogleMap) { googleMap = map val sydney = LatLng(-33.852, 151.211) googleMap.addMarker(MarkerOptions() .position(sydney) .title("علامة في سيدني")) googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(sydney, 12f)) }}


2. Yandex Maps SDK لنظام Android (Kotlin)



Yandex Maps SDK هو بديل ممتاز للمشاريع التي تستهدف الجمهور الناطق بالروسية. يقدم خرائط تفصيلية لروسيا ورابطة الدول المستقلة، بالإضافة إلى ميزات فريدة مثل تصور الازدحام المروري ومسارات النقل العام.



ربط المكتبة:



dependencies {    implementation("com.yandex.android:maps.mobile:4.3.1-lite")}


مثال على عرض خريطة مع علامة:



import com.yandex.mapkit.MapKitFactoryimport com.yandex.mapkit.mapview.MapViewimport com.yandex.mapkit.geometry.Pointimport com.yandex.mapkit.map.MapObjectCollectionimport com.yandex.runtime.image.ImageProvider

class MainActivity : AppCompatActivity() { private lateinit var mapview: MapView

override fun onCreate(savedInstanceState: Bundle?) { MapKitFactory.initialize(this) super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) mapview = findViewById(R.id.mapview) mapview.map.move( CameraPosition(Point(55.751244, 37.618423), 11f, 0f, 0f) ) val mapObjects: MapObjectCollection = mapview.map.mapObjects mapObjects.addPlacemark( Point(55.751244, 37.618423), ImageProvider.fromResource(this, R.drawable.marker) ) }

override fun onStop() { mapview.onStop() MapKitFactory.getInstance().onStop() super.onStop() }}


3. OpenStreetMap (OSMDroid) لـ Kotlin



OSMDroid هي مكتبة مفتوحة المصدر تستخدم بيانات OpenStree

توصيات