Implement legacy-style map markers with UI model mapping.
Replace default OSM pins with round value-based icons, add DTO-to-domain-to-UI marker mapping, and normalize no-value/offline styling while keeping ownership icon behavior stubbed for future auth integration. Made-with: Cursor
This commit is contained in:
4
app/src/main/res/drawable/circle_marker.xml
Normal file
4
app/src/main/res/drawable/circle_marker.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||
<solid android:color="@color/white" />
|
||||
</shape>
|
||||
4
app/src/main/res/drawable/circle_marker_shade.xml
Normal file
4
app/src/main/res/drawable/circle_marker_shade.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
|
||||
<solid android:color="#66000000" />
|
||||
</shape>
|
||||
10
app/src/main/res/drawable/ic_marker_user.xml
Normal file
10
app/src/main/res/drawable/ic_marker_user.xml
Normal file
@@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFFFFFFF"
|
||||
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z" />
|
||||
</vector>
|
||||
50
app/src/main/res/layout/view_map_marker.xml
Normal file
50
app/src/main/res/layout/view_map_marker.xml
Normal file
@@ -0,0 +1,50 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="50dp"
|
||||
android:layout_height="50dp"
|
||||
android:padding="4dp">
|
||||
|
||||
<View
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/circle_marker" />
|
||||
|
||||
<View
|
||||
android:id="@+id/marker_border"
|
||||
android:layout_width="42dp"
|
||||
android:layout_height="42dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/circle_marker" />
|
||||
|
||||
<View
|
||||
android:id="@+id/marker_center"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/circle_marker" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/marker_image"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone" />
|
||||
|
||||
<View
|
||||
android:id="@+id/marker_image_shade"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_gravity="center"
|
||||
android:background="@drawable/circle_marker_shade"
|
||||
android:visibility="gone" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/marker_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:textSize="16sp"
|
||||
android:textStyle="bold" />
|
||||
|
||||
</FrameLayout>
|
||||
@@ -7,4 +7,11 @@
|
||||
<color name="teal_700">#FF018786</color>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
<color name="colorGrey">#FF9E9E9E</color>
|
||||
<color name="sensorGreen">#FF00C853</color>
|
||||
<color name="sensorYellow">#FFFFD54F</color>
|
||||
<color name="sensorOrange">#FFFF9800</color>
|
||||
<color name="sensorRed">#FFF44336</color>
|
||||
<color name="sensorPink">#FFEC407A</color>
|
||||
<color name="sensorPurple">#FF8E24AA</color>
|
||||
</resources>
|
||||
Reference in New Issue
Block a user