搜索插件、代码仓与 APP 分类

插件详情v6.0.0

flutter_map_tappable_polyline

一个为 flutter_map 添加带有 onTap 事件的 Polyline 类的插件

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
346
喜欢数
51
Pub 分数
130

安装插件

flutter pub add flutter_map_tappable_polyline

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 插件,扩展了 flutter_map,提供可点击的 Polyline 类,支持 onTap 事件,实现交互式地图路线。它允许用户检测地图上的折线是否被点击,从而增强导航或路线可视化中的用户参与度。该插件兼容 Android、iOS、Web、macOS、Windows 和 Linux,可无缝集成到现有的 flutter_map 项目中。该包轻量且专注,仅提供折线触控交互的基本功能。

适合场景

  • 交互式路线选择
  • 基于地图的导航突出显示
  • 用户触发的折线操作
  • 用反馈可视化动态路径
  • 通过点击交互提升地图用户体验

主要特点

  • 多段线的 OnTap 事件支持
  • 与 flutter_map 的无缝集成
  • 跨平台兼容性
  • 轻巧而专注的设计
  • 支持所有主要的Flutter平台

适合对象

  • 开发交互式地图的开发者
  • 需要用户在地图线上输入的应用程序
  • 导航或路线应用
  • 使用 flutter_map 并增强交互性的项目

使用建议

  • 需要安装 flutter_map
  • 限制为折线点击检测
  • 无内置样式自定义
  • 可能需要额外处理复杂的点击逻辑
  • 依赖上游 flutter_map 更新

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Flutter Map Tappable Polyline

pub package

A Polyline with onTap event listener
This is a plugin for flutter_map package

Usage

Add flutter_map and flutter_map_tappable_polyline to your pubspec:

dependencies:
  flutter_map: ^6.0.1
  flutter_map_tappable_polyline: any # take latest version on Pub

Add it in you FlutterMap and configure it using TappablePolylineLayerOptions.

  Widget build(BuildContext context) {
    return FlutterMap(
      options: new MapOptions(
        plugins: [
          TappablePolylineMapPlugin(),
        ],
      ),
      layers: [
        TileLayerOptions(
          urlTemplate: 'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
          subdomains: ['a', 'b', 'c'],
        ),
        TappablePolylineLayerOptions(
          // Will only render visible polylines, increasing performance
          polylineCulling: true,
          polylines: [
            TaggedPolyline(
              tag: "My Polyline", // An optional tag to distinguish polylines in `onTap` callback
              // ...all other Polyline options
            ),
          ],
          onTap: (polylines, tapPosition) => print('Tapped: ' +
            polylines.map((polyline) => polyline.tag).join(',') +
            ' at ' +
            tapPosition.globalPosition.toString()),
          onMiss: (tapPosition) {
            print('No polyline was tapped at position ' +
                tapPosition.globalPosition.toString());
          }
        )
      ],
    );
  }

所属分类

依赖

依赖清单 2 项

源码仓库

使用此插件的项目

暂无相关数据。