Skip to content

Commit c4689d1

Browse files
committed
update changelog
1 parent 717d677 commit c4689d1

17 files changed

Lines changed: 145 additions & 111 deletions

File tree

client/pubspec.lock

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -157,10 +157,10 @@ packages:
157157
dependency: transitive
158158
description:
159159
name: characters
160-
sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803
160+
sha256: faf38497bda5ead2a8c7615f4f7939df04333478bf32e4173fcb06d428b5716b
161161
url: "https://pub.dev"
162162
source: hosted
163-
version: "1.4.0"
163+
version: "1.4.1"
164164
charcode:
165165
dependency: transitive
166166
description:
@@ -359,7 +359,7 @@ packages:
359359
path: "../packages/flet"
360360
relative: true
361361
source: path
362-
version: "0.82.2"
362+
version: "0.85.0"
363363
flet_ads:
364364
dependency: "direct main"
365365
description:
@@ -911,18 +911,18 @@ packages:
911911
dependency: transitive
912912
description:
913913
name: matcher
914-
sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2
914+
sha256: dc0b7dc7651697ea4ff3e69ef44b0407ea32c487a39fff6a4004fa585e901861
915915
url: "https://pub.dev"
916916
source: hosted
917-
version: "0.12.17"
917+
version: "0.12.19"
918918
material_color_utilities:
919919
dependency: transitive
920920
description:
921921
name: material_color_utilities
922-
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
922+
sha256: "9c337007e82b1889149c82ed242ed1cb24a66044e30979c44912381e9be4c48b"
923923
url: "https://pub.dev"
924924
source: hosted
925-
version: "0.11.1"
925+
version: "0.13.0"
926926
media_kit:
927927
dependency: transitive
928928
description:
@@ -1628,10 +1628,10 @@ packages:
16281628
dependency: transitive
16291629
description:
16301630
name: test_api
1631-
sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55
1631+
sha256: "8161c84903fd860b26bfdefb7963b3f0b68fee7adea0f59ef805ecca346f0c7a"
16321632
url: "https://pub.dev"
16331633
source: hosted
1634-
version: "0.7.7"
1634+
version: "0.7.10"
16351635
torch_light:
16361636
dependency: transitive
16371637
description:

sdk/python/examples/controls/map/overlay_images/main.py

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,10 @@
11
import flet as ft
22
import flet_map as ftm
33

4-
IMAGE_URL = (
5-
"https://images.pexels.com/photos/231009/pexels-photo-231009.jpeg"
6-
"?auto=compress&cs=tinysrgb&dpr=2&h=300&w=600"
7-
)
8-
9-
10-
def label(text: str, color: ft.ColorValue) -> ft.Container:
11-
return ft.Container(
12-
width=32,
13-
height=32,
14-
bgcolor=color,
15-
border_radius=16,
16-
alignment=ft.Alignment.CENTER,
17-
content=ft.Text(text, color=ft.Colors.WHITE, weight=ft.FontWeight.BOLD),
18-
)
4+
base64_image = "iVBORw0KGgoAAAANSUhEUgAAABkAAAAgCAYAAADnnNMGAAAACXBIWXMAAAORAAADkQFnq8zdAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAA6dJREFUSImllltoHFUYx3/fzOzm0lt23ZrQ1AQbtBehNpvQohgkBYVo410RwQctNE3Sh0IfiiBoIAjqi6TYrKnFy4O3oiiRavDJFi3mXomIBmOxNZe63ay52GR3Zj4f2sTEzmx3m//TYf7/c35zvgPnO6KqrESXqpq3muocAikv6m+/zytj3ejik1VN21G31YA9CgJ6xC+bMyQZPVCuarciPAMYC99V6Vw5pLbFSibHmlVoRVj9P3cmPBM8tSJI/M6mzabpfoAQ9fIF7WK4bd5vvuFnLGgy2vi0abg94A0AcJGvMq3hDxGRyar9r4F+iLAm0yIiRk8m37tctS1WsrIhhrI30+Srmg+J87OXUf3lWGS1q89dC6ltsSanxk4Aj2QBABii96300g87P/rtlrWr8l+vyDMfdlXSyyEikqxsiOUAQJCBhfHdXRfCq1LSsSlcWG+KBAGStvvrMkgiuv8lUc2mREukPwLUfHG+uTQv8Eown7VL3XlbBxYhf1c17hbVF3MDwA9bts280TnaU1YYqPby07aeFlUlHt27wSQ4CLo+F8AvoTCvHmyKF+ZbEb/M77P2LgvAwmrTHAHflN3KZxVbMC2jMFNOpgPnrMSOhvvFkMezXdwV4ePbtvHtxnJAMQ0j4JtVnO+eLb5oiSlt5HDbv7t1O90lpYCCCKbhfzW5kAIwUAazR0BlfII8Ow0I6uoVmI9MyAMwbMs8CExmDbk4zgu931MyO4OI4KrYflkRjOoTI+uM9d1vjotwKPu9QMk/sxzuO8POiVFcdZ1M2YBVsMEAKOqLvaPIe7mACuw0z/80SMH58SMplxlfiDhVi7dw2pltRhjKBQTQdrSja2KKTfE551NHuaZ0QVPvWYQUn31/Vm2nDvgjF4grVJx6suSvrvrSJ/6cSW2Oz9mf264uNrB806xZ1k/CZ49dUKgDEtlCROX2hfHpx8pGuuo3PpqYulw8fjndOp1yhgtNKRevJ1FyR2Ola+jXAjdnwTkZ6o896GdWdxDw7IxFg+0DpmXchTKSBWQnIuJn9u4j7dt+13UfHXEkXQOcuQ4kMhVtqsgUyPiQiPQfHw1NB2sRjmXKuTg1NwwBYLhtPtQX26eqTwGXPDOqvmcC4Hnwfrrad94GrVsOYTqUTkQY+iTlNe/6O1miSP/x0VB/+wMIDwHn/vtV1iQC4Xv95uUEWVCoL9Y5Z+gdovoyMHUFJHv88jmVy0vTuw7cZNv2YaA61Bfb7ZX5F8SaUv2xwZevAAAAAElFTkSuQmCC" # noqa: E501
195

206

217
def main(page: ft.Page):
22-
page.appbar = ft.AppBar(title="Overlay Images")
238
page.add(
249
ft.SafeArea(
2510
expand=True,
@@ -29,21 +14,20 @@ def main(page: ft.Page):
2914
initial_zoom=6,
3015
layers=[
3116
ftm.TileLayer(
32-
url_template="https://tile.openstreetmap.org/{z}/{x}/{y}.png",
33-
user_agent_package_name="Flet Overlay Images Example",
17+
url_template="https://tile.memomaps.de/tilegen/{z}/{x}/{y}.png"
3418
),
3519
ftm.OverlayImageLayer(
3620
overlay_images=[
3721
ftm.OverlayImage(
38-
src=IMAGE_URL,
22+
src=base64_image,
3923
bounds=ftm.MapLatitudeLongitudeBounds(
4024
corner_1=ftm.MapLatitudeLongitude(51.5, -0.09),
4125
corner_2=ftm.MapLatitudeLongitude(48.8566, 2.3522),
4226
),
4327
opacity=0.8,
4428
),
4529
ftm.RotatedOverlayImage(
46-
src=IMAGE_URL,
30+
src=base64_image,
4731
top_left_corner=ftm.MapLatitudeLongitude(
4832
53.377, -2.999
4933
),
@@ -57,22 +41,6 @@ def main(page: ft.Page):
5741
),
5842
]
5943
),
60-
ftm.MarkerLayer(
61-
markers=[
62-
ftm.Marker(
63-
content=label("TL", ft.Colors.RED_ACCENT),
64-
coordinates=ftm.MapLatitudeLongitude(53.377, -2.999),
65-
),
66-
ftm.Marker(
67-
content=label("BL", ft.Colors.RED_ACCENT),
68-
coordinates=ftm.MapLatitudeLongitude(52.503, -1.868),
69-
),
70-
ftm.Marker(
71-
content=label("BR", ft.Colors.RED_ACCENT),
72-
coordinates=ftm.MapLatitudeLongitude(53.475, 0.275),
73-
),
74-
]
75-
),
7644
],
7745
),
7846
)

sdk/python/examples/controls/map/overlay_images/pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,10 @@ categories = ["Extensions/Map"]
1515

1616
[tool.flet.metadata]
1717
title = "Overlay Images"
18-
controls = ["SafeArea", "Map", "TileLayer", "OverlayImageLayer", "OverlayImage", "RotatedOverlayImage", "MarkerLayer", "Marker", "Container", "Text", "AppBar"]
18+
controls = ["SafeArea", "Map", "TileLayer", "OverlayImageLayer", "OverlayImage", "RotatedOverlayImage"]
1919
layout_pattern = "single-panel"
2020
complexity = "basic"
21-
features = ["rectangular image overlay", "rotated image overlay", "corner markers"]
21+
features = ["rectangular image overlay", "rotated image overlay"]
2222

2323
[tool.flet]
2424
org = "dev.flet"

sdk/python/packages/flet-map/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
88

99
### Added
1010

11-
- Added `OverlayImageLayer`, `OverlayImage`, and `RotatedOverlayImage`.
11+
- Added image overlay support for maps with `OverlayImageLayer`, `OverlayImage`, and `RotatedOverlayImage` ([#6319](https://github.com/flet-dev/flet/issues/6319)) by @ndonkoHenri.
1212

1313
## 0.81.1
1414

sdk/python/packages/flet-map/src/flet_map/overlay_image_layer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ class BaseOverlayImage(ft.BaseControl):
4040
V.between(0.0, 1.0),
4141
] = 1.0
4242
"""
43-
The opacity used to paint the image.
43+
The opacity in which the image should get rendered on the map.
4444
4545
Raises:
4646
ValueError: If it is not between `0.0` and `1.0`, inclusive.

sdk/python/packages/flet-map/src/flutter/flet_map/lib/src/circle_layer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class CircleLayerControl extends StatelessWidget with FletStoreMixin {
2020
.map((circle) {
2121
circle.notifyParent = true;
2222
return CircleMarker(
23-
point: parseLatLng(circle.get("coordinates"))!,
23+
point: circle.getLatLng("coordinates")!,
2424
color: circle.getColor("color", context, const Color(0xFF00FF00))!,
2525
borderColor: circle.getColor(
2626
"border_color", context, const Color(0xFFFFFF00))!,

sdk/python/packages/flet-map/src/flutter/flet_map/lib/src/marker_layer.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class MarkerLayerControl extends StatelessWidget with FletStoreMixin {
1919
.map((marker) {
2020
marker.notifyParent = true;
2121
return AnimatedMarker(
22-
point: parseLatLng(marker.get("coordinates"))!,
22+
point: marker.getLatLng("coordinates")!,
2323
rotate: marker.getBool("rotate"),
2424
height: marker.getDouble("height", 30.0)!,
2525
width: marker.getDouble("width", 30.0)!,

sdk/python/packages/flet-map/src/flutter/flet_map/lib/src/overlay_image_layer.dart

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -17,30 +17,20 @@ class OverlayImageLayerControl extends StatelessWidget {
1717
.children("overlay_images")
1818
.map((overlayImage) {
1919
overlayImage.notifyParent = true;
20-
final imageProvider = parseImageProvider(
21-
overlayImage.get("src"),
22-
context,
23-
);
24-
if (imageProvider == null) {
25-
return null;
26-
}
20+
21+
final imageProvider = overlayImage.getImageProvider("src", context);
22+
if (imageProvider == null) return null;
2723

2824
final opacity = overlayImage.getDouble("opacity", 1.0)!;
29-
final gaplessPlayback = overlayImage.getBool(
30-
"gapless_playback",
31-
false,
32-
)!;
25+
final gaplessPlayback =
26+
overlayImage.getBool("gapless_playback", false)!;
3327
final filterQuality = overlayImage.getFilterQuality(
34-
"filter_quality",
35-
FilterQuality.medium,
36-
)!;
28+
"filter_quality", FilterQuality.medium)!;
3729

3830
switch (overlayImage.type) {
3931
case "OverlayImage":
40-
final bounds = parseLatLngBounds(overlayImage.get("bounds"));
41-
if (bounds == null) {
42-
return null;
43-
}
32+
final bounds = overlayImage.getLatLngBounds("bounds");
33+
if (bounds == null) return null;
4434
return OverlayImage(
4535
imageProvider: imageProvider,
4636
bounds: bounds,
@@ -49,15 +39,11 @@ class OverlayImageLayerControl extends StatelessWidget {
4939
filterQuality: filterQuality,
5040
);
5141
case "RotatedOverlayImage":
52-
final topLeftCorner = parseLatLng(
53-
overlayImage.get("top_left_corner"),
54-
);
55-
final bottomLeftCorner = parseLatLng(
56-
overlayImage.get("bottom_left_corner"),
57-
);
58-
final bottomRightCorner = parseLatLng(
59-
overlayImage.get("bottom_right_corner"),
60-
);
42+
final topLeftCorner = overlayImage.getLatLng("top_left_corner");
43+
final bottomLeftCorner =
44+
overlayImage.getLatLng("bottom_left_corner");
45+
final bottomRightCorner =
46+
overlayImage.getLatLng("bottom_right_corner");
6147
if (topLeftCorner == null ||
6248
bottomLeftCorner == null ||
6349
bottomRightCorner == null) {

sdk/python/packages/flet-map/src/flutter/flet_map/lib/src/polygon_layer.dart

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,7 @@ class PolygonLayerControl extends StatelessWidget with FletStoreMixin {
2929
"label_text_style", Theme.of(context), const TextStyle())!,
3030
strokeCap: polygon.getStrokeCap("stroke_cap", StrokeCap.round)!,
3131
strokeJoin: polygon.getStrokeJoin("stroke_join", StrokeJoin.round)!,
32-
points: polygon
33-
.get("coordinates", [])!
34-
.map((c) => parseLatLng(c))
35-
.nonNulls
36-
.toList());
32+
points: polygon.getLatLngList("coordinates"));
3733
}).toList();
3834

3935
return BaseControl(

sdk/python/packages/flet-map/src/flutter/flet_map/lib/src/polyline_layer.dart

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ class PolylineLayerControl extends StatelessWidget with FletStoreMixin {
2323
borderColor:
2424
polyline.getColor("border_color", context, Colors.yellow)!,
2525
color: polyline.getColor("color", context, Colors.yellow)!,
26-
pattern: parseStrokePattern(
27-
polyline.get("stroke_pattern"), const StrokePattern.solid())!,
26+
pattern: polyline.getStrokePattern(
27+
"stroke_pattern", const StrokePattern.solid())!,
2828
strokeCap: polyline.getStrokeCap("stroke_cap", StrokeCap.round)!,
2929
strokeJoin: polyline.getStrokeJoin("stroke_join", StrokeJoin.round)!,
3030
strokeWidth: polyline.getDouble("stroke_width", 1.0)!,
@@ -40,11 +40,7 @@ class PolylineLayerControl extends StatelessWidget with FletStoreMixin {
4040
.map((e) => parseColor(e, Theme.of(context)))
4141
.nonNulls
4242
.toList(),
43-
points: polyline
44-
.get("coordinates", [])!
45-
.map((c) => parseLatLng(c))
46-
.nonNulls
47-
.toList());
43+
points: polyline.getLatLngList("coordinates"));
4844
}).toList();
4945

5046
return BaseControl(

0 commit comments

Comments
 (0)