مستندات جامع اندروید
نسخه 1.0.3
در این بخش بر روی نقشه لایه ترافیک آنلاین نشان را فعال یا غیرفعال میکنیم.
فهرست مطالب این صفحه
activity_traffic_layer.xml
در این صفحه علاوه بر المان نقشه نشان یک ToggleButton
وجود دارد که با هر بار لمس شدنش، متد toggleTrafficLayer
فراخوانی میشود و لایه ترافیک فعال یا غیرفعال میشود.
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
tools:context=".activity.TrafficLayer">
<org.neshan.mapsdk.MapView
android:layout_width="0dp"
android:layout_height="0dp"
android:id="@+id/map"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"/>
<ToggleButton
android:checked="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/toggle_button_text_color"
android:textOff="لایه ترافیک"
android:textOn="لایه ترافیک"
android:elevation="8dp"
android:paddingStart="8dp"
android:paddingEnd="8dp"
android:drawableStart="@drawable/ic_traffic_layer"
android:drawableTint="@color/toggle_button_text_color"
android:drawablePadding="8dp"
android:background="@drawable/toggle_button_bg"
android:layout_marginBottom="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
tools:targetApi="m"
android:onClick="toggleTrafficLayer"/>
</android.support.constraint.ConstraintLayout>
TrafficLayerActivity.kt
متد initLayoutRefrences
جهت مقداردهی اولیه کردن به تمامی المانهای مربوط به رابط کاربری نوشته شدهاست. به دلیل این که لازم است تا المان اندرویدی نقشه نشان ابتدا به طور کامل ایجاد شود و سپس با آن تعامل برقرار شود (متدهای مختلف بر روی المان نقشه اجرا شود)، تمامی متدهای مربوط به رابط کاربری باید در متد onStart
انجام شوند.
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_traffic_layer)
}
override fun onStart() {
super.onStart()
// everything related to ui is initialized here
initLayoutReferences()
}
در متد toggleTrafficLayer
بررسی میشود که اگر toggleButton
انتخاب شده باشد، لایه ترافیک فعال شود و در غیر این صورت لایه ترافیک را غیرفعال می کند. برای فعال شدن لایه ترافیک فقط کافیست تا فیلد isTrafficEnabled
از شیء نقشه را با مقدار true
مقداردهی کنیم و برای غیرفعال کردن آن را false کنیم.
fun toggleTrafficLayer(view: View) {
val toggleButton = view as ToggleButton
map.isTrafficEnabled = toggleButton.isChecked
}