Benutzerdefinierte Markierung mit Textbezeichnung auf dem KopfAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Benutzerdefinierte Markierung mit Textbezeichnung auf dem Kopf

Post by Anonymous »

Ich erstelle benutzerdefinierter Marker auf Google Map und stellte fest, dass die Buchstaben auf dem Kopf stehen. Das Testen ist unten. < /p>

Code: Select all

import 'dart:ui' as ui;

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {
const MyApp({Key? key}) : super(key: key);

@override
Widget build(BuildContext context) {
return const MaterialApp(home: MyPage());
}
}

class MyPage extends StatefulWidget {
const MyPage({Key? key}) : super(key: key);

@override
State createState() => _MyPageState();
}

class _MyPageState extends State {
Map markers = {};

_onMapCreate(GoogleMapController controller) async {
markers['test2'] = Marker(
markerId: const MarkerId('test'),
zIndex: 8,
icon: await iconMarker(),
position: const LatLng(14.0, 101.0),
);

setState(() {});
}

@override
Widget build(BuildContext context) {
return GoogleMap(
markers: Set.of(markers.values),
initialCameraPosition: const CameraPosition(target: LatLng(14.7, 100.7), zoom: 5),
onMapCreated: _onMapCreate,
);
}
}

Future iconMarker() async {
ui.PictureRecorder recorder = ui.PictureRecorder();
Canvas canvas = Canvas(recorder);

canvas.drawRect(const Rect.fromLTWH(0, 0, 300, 100), Paint()..color = Colors.orange);

TextSpan title = const TextSpan(style: TextStyle(fontSize: 70), text: "Thailand");

TextPainter(text: title, textDirection: TextDirection.ltr)
..layout()
..paint(canvas, const Offset(10, 10));

ui.Picture p = recorder.endRecording();
ByteData? pngBytes = await (await p.toImage(300, 100)).toByteData(format: ui.ImageByteFormat.png);
Uint8List data = Uint8List.view(pngBytes!.buffer);

return BitmapDescriptor.fromBytes(data);
}
Beim getesteten und auf Emulator ausgeführten Ergebnis ist das Ergebnis wie dieses. />
Ich weiß nicht, wann dies geschah, aber es geschah, nachdem ich ein altes Projekt vorgebracht hatte, das für etwa 2-3 Monate nicht bearbeitet wurde, um weiter zu arbeiten. Vorher wurde es wie gewohnt korrekt angezeigt. />[*]label_marker: 1.0.1 (I tested with this library, it was upside down too)

Connected device

[*]SM A145F (mobile) • RF8W60371NA • android-arm64 • Android 14 (API 34)
SDK GPONE64 X86 64 (Mobile) • Emulator-5554 • Android-X64 • Android 15 (API 35) (Emulator) < /li>
< /u>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post