مستندات جامع اندروید
نسخه 1.0.3
هدف از این بخش از پروژه بررسی نحوه فعالسازی و غیرفعالسازی لایه نقاط کسب و کارها است.
فهرست مطالب این صفحه
activity_poi_layer.xml:
در این صفحه، علاوه بر المان نقشه نشان، یک ToggleButton برای فعال یا غیرفعال کردن لایه نقاط کسب و کارها وجود دارد.
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.POILayerActivity">
<org.neshan.mapsdk.MapView
android:id="@+id/mapview"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:background="@drawable/toggle_button_bg"
android:checked="true"
android:elevation="8dp"
android:onClick="togglePOILayer"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:textColor="@color/white"
android:textOff="لایه POI"
android:textOn="لایه POI"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
tools:targetApi="m" />
</androidx.constraintlayout.widget.ConstraintLayout>
POILayerActivity.kt:
متد initLayoutRefrences جهت مقداردهی اولیه کردن به تمامی المانهای مربوط به رابط کاربری نوشته شدهاست. به دلیل این که لازم است تا المان اندرویدی نقشه نشان ابتدا به طور کامل ایجاد شود و سپس با آن تعامل برقرار شود (متدهای مختلف بر روی المان نقشه اجرا شود)، تمامی متدهای مربوط به رابط کاربری باید در متد onStart انجام شوند.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_poi_layer)
}
override fun onStart() {
super.onStart()
// everything related to ui is initialized here
initLayoutReferences()
}
// We use findViewByID for every element in our layout file here
private fun initViews() {
map = findViewById(R.id.mapview)
}
در متد initMap ابتدا موقعیت و بزرگنمایی نقشه به حالت دلخواه تنظیم می شود. سپس لایه اطلاعات کسب و کار ها با استفاده از فیلد isPoiEnabled فعال می گردد.
// Initializing map
private void initMap(){
// Setting map focal position to a fixed position and setting camera zoom
map.moveCamera(new LatLng(35.767234, 51.330743),0 );
map.setZoom(14,0);
map.setPoiEnabled(true);
}
در این متد بررسی میشود که اگر toggleButton موجود در رابط کاربری در حالت انتخاب شده باشد، لایه اطلاعات کسب و کارها با استفاده از فیلد isPoiEnabled شیء map فعال می شود و در غیر اینصورت این لایه غیرفعال می شود.
fun togglePOILayer(view: View) {
var toggleButton: ToggleButton = view as ToggleButton
map.isPoiEnabled = toggleButton.isChecked
}
