パッケージ、リポジトリ、アプリカテゴリを検索

widget_to_marker のカバー
パッケージ詳細v1.0.6

widget_to_marker

任意のFlutter WidgetをBitmapDescriptorに変換するパッケージで、google_maps_flutterのアイコンマーカーで使用できます。

AndroidiOSWeb
30日間ダウンロード
1.7万
いいね数
133
Pub ポイント
155

パッケージをインストール

flutter pub add widget_to_marker

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

widget_to_marker パッケージは、開発者が任意の Flutter ウィジェットを BitmapDescriptor に変換できるようにし、google_maps_flutter プラグインを介してカスタムデザインのウィジェットを Google マップのマーカーとしてアイコンとして使用できるようにします。これは、標準的なアイコンを超えた視覚的に豊かな動的なマーカーを作成するのに特に役立ちます。このパッケージは Android、iOS、Web プラットフォームをサポートしており、クロスプラットフォームでの一貫性を確保しています。アバター、バッジ、またはカスタム形状などの複雑な UI 要素を地図上で直接レンダリングするプロセスを簡素化します。

用途

  • 動的なコンテンツを備えたカスタムマップマーカー
  • マップにユーザーのアバターを表示する
  • ブランドまたはテーマ付きマーカーの作成
  • アニメーションウィジェットによるリアルタイムマーカーの更新
  • マップ上にインタラクティブUI要素を重ねる

主な機能

  • 任意の Flutter ウィジェットを BitmapDescriptor に変換します
  • Android、iOS、Web をサポート
  • 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 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。