inavi_global_map_flutter 1.0.0 copy "inavi_global_map_flutter: ^1.0.0" to clipboard
inavi_global_map_flutter: ^1.0.0 copied to clipboard

Flutter plugin for iNavi Global Map SDK — map display, camera control, and markers on Android and iOS.

example/lib/main.dart

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:inavi_global_map_flutter/inavi_global_map_flutter.dart';

import 'feature_list_screen.dart';

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

class InaviGlobalMapExampleApp extends StatefulWidget {
  const InaviGlobalMapExampleApp({super.key});

  @override
  State<InaviGlobalMapExampleApp> createState() =>
      _InaviGlobalMapExampleAppState();
}

class _InaviGlobalMapExampleAppState extends State<InaviGlobalMapExampleApp> {
  final _navigatorKey = GlobalKey<NavigatorState>();
  StreamSubscription<SdkAuthEvent>? _authSub;

  @override
  void initState() {
    super.initState();
    _authSub = InaviGlobalMapSdk.instance.onAuth.listen((event) {
      if (event is SdkAuthFailure) {
        _showInitFailDialog(
          errorCode: int.tryParse(event.errorCode),
          errorMessage: event.errorMessage,
        );
      }
    });
  }

  @override
  void dispose() {
    _authSub?.cancel();
    super.dispose();
  }

  void _showInitFailDialog({int? errorCode, String? errorMessage}) {
    final context = _navigatorKey.currentContext;
    if (context == null) return;

    // Android: errorCode + errorMessage 분리 전달 → 조합
    // iOS: errorMessage 자체에 코드가 포함된 형식 → 그대로 사용
    final parts = <String?>[
      errorCode != null ? '$errorCode' : null,
      errorMessage,
    ].whereType<String>().toList();
    final content =
        parts.isNotEmpty ? parts.join(': ') : '알 수 없는 오류가 발생했습니다.';

    showDialog<void>(
      context: context,
      barrierDismissible: false,
      builder: (context) => AlertDialog(
        title: const Text('SDK 초기화 실패'),
        content: Text(content),
        actions: [
          TextButton(
            onPressed: () => Navigator.of(context).pop(),
            child: const Text('확인'),
          ),
        ],
      ),
    );
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      navigatorKey: _navigatorKey,
      title: 'iNavi Global Maps',
      theme: ThemeData(useMaterial3: true),
      home: const FeatureListScreen(),
    );
  }
}
0
likes
140
points
55
downloads

Documentation

API reference

Publisher

verified publisherinavi.kr

Weekly Downloads

Flutter plugin for iNavi Global Map SDK — map display, camera control, and markers on Android and iOS.

Homepage

Topics

#inavi-global-maps #inavi-global-maps-flutter #map

License

unknown (license)

Dependencies

flutter, meta, plugin_platform_interface

More

Packages that depend on inavi_global_map_flutter

Packages that implement inavi_global_map_flutter