패키지, 저장소 및 앱 카테고리 검색

widget_to_marker 표지
패키지 상세v1.0.6

widget_to_marker

모든 Flutter 위젯을 google_maps_flutter 아이콘 마커에서 사용할 수 있는 BitmapDescriptor로 변환하는 패키지입니다.

AndroidiOSWeb
30일 다운로드
1.6만
좋아요
133
Pub 점수
155

패키지 설치

flutter pub add widget_to_marker

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

widget_to_marker 패키지는 개발자가 어떤 Flutter 위젯도 BitmapDescriptor로 변환할 수 있게 해주며, google_maps_flutter 플러그인을 통해 사용자 정의 디자인의 위젯을 Google 지도 마커 아이콘으로 사용할 수 있도록 합니다. 이는 표준 아이콘을 넘어서 시각적으로 풍부하고 동적인 마커를 만들 때 특히 유용합니다. 이 패키지는 Android, iOS 및 웹 플랫폼을 지원하여 크로스플랫폼 일관성을 보장합니다. 아바타, 배지 또는 커스텀 형태와 같은 복잡한 UI 요소를 지도에 직접 렌더링하는 과정을 간소화합니다.

사용 사례

  • 동적 콘텐츠를 가진 사용자 지정 지도 마커
  • 지도에 사용자 아바타 표시
  • 브랜드 또는 테마 마커 만들기
  • 애니메이션 위젯을 사용한 실시간 마커 업데이트
  • 지도 위에 상호작용 가능한 UI 요소를 겹쳐 표시하기

주요 기능

  • 모든 Flutter 위젯을 BitmapDescriptor로 변환합니다
  • Android, iOS 및 웹을 지원합니다
  • google_maps_flutter와의 간편한 통합
  • 복잡한 위젯의 효율적인 렌더링
  • 크로스 플랫폼 호환성

적합한 대상

  • 인터랙티브 지도를 구축하는 개발자
  • 브랜드 또는 개인화된 마커가 필요한 앱
  • 동적 또는 애니메이션 마커 콘텐츠를 사용하는 프로젝트
  • 다양한 플랫폼 간 시각적 일관성을 우선시하는 팀
  • 정적 아이콘 이미지의 대안을 찾는 사용자

고려 사항

  • 복잡하거나 자주 업데이트되는 위젯의 성능 영향
  • 비트맵 생성으로 인한 잠재적 메모리 오버헤드
  • 생성된 기술자에 대한 적절한 폐기 필요
  • 정적 스냅샷(상호작용 위젯이 아님)에 제한됨
  • 고주파 업데이트를 위한 최적화가 필요할 수 있습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Features

When using Google Maps, we always have a problem with adding a marker on the map, and the available tools were either drawing the marker through canvas path or using an image, but the problem is if we want to add words or data or add custom edit to this marker, but this package has solved the problem and now you can use any widget in flutter as a marker for google map ! using the .toBitmapDescriptor() function on the widget to use it as a marker icon!

Getting started

Add dependency

dependencies:
  widget_to_marker: ^1.0.6

1 - Create Your Widget To Make it as Marker:

import 'package:widget_to_marker/widget_to_marker.dart';

class TextOnImage extends StatelessWidget {
  const TextOnImage({
    super.key,
    required this.text,
  });
  final String text;
  @override
  Widget build(BuildContext context) {
    return Stack(
      alignment: Alignment.center,
      children: [
        Image(
          image: const AssetImage(
            "assets/marker.png",
          ),
          height: 150,
          width: 150,
        ),
        Text(
          text,
          style: TextStyle(color: Colors.black),
        )
      ],
    );
  }
}

2 - Add it to the marker with .toBitmapDescriptor():

Marker(
      markerId: const MarkerId("3"),
      position: const LatLng(30.01124477440843, 30.78459296375513),
      icon: await TextOnImage(
        text: "Hello World",
      ).toBitmapDescriptor(
         logicalSize: const Size(150, 150), imageSize: const Size(150, 150)
      ),
    )

Note

You Can Use waitToRender Attribute to set duration for rendering large network and asset images

Enjoy!!

image

카테고리

의존성

의존성 목록 1 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.