Получаю ошибку net :: ERR_UNKNOWN_URL_SCHEME, когда нажимаю на geo ссылку сайта который открывается через webview flutter

введите сюда описание изображения

Код main.dart

import 'package:flutter/material.dart';
import 'package:flutter/services.dart' ;
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
 @override
  Widget build(BuildContext context) {

    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
    ]);
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(      
        body: WebView(
          initialUrl: "http://212.80.206.193/test.project-270.com/",
          
          debuggingEnabled: true,
          onWebViewCreated: (c) {
                var _webviewController = c;
                _webviewController.clearCache();
              },
          javascriptMode: JavascriptMode.unrestricted,
          
          ) ,
          
      ),

    );
    
  }
  
}

Ссылка geo на сайте

 <a class="navigation-kiosk" rel="nofollow" href="geo:{{$key->latitude}}, {{$key->longitude}}">@lang('main.geo_kiosk')</a>

Помогите решить проблему!


Ответы (1 шт):

Автор решения: Artem Nikolaevich
import 'package:flutter/material.dart';
import 'package:flutter/services.dart' ;
import 'package:webview_flutter/webview_flutter.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
 @override
  Widget build(BuildContext context) {

    SystemChrome.setPreferredOrientations([
      DeviceOrientation.portraitUp,
    ]);
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(      
        body: WebView(
          initialUrl: "http://212.80.206.193/test.project-270.com/",
          
          debuggingEnabled: true,
          onWebViewCreated: (c) {
                var _webviewController = c;
                _webviewController.clearCache();
              },
          javascriptMode: JavascriptMode.unrestricted,
          navigationDelegate: (NavigationRequest request) {
             print(request.url);
             if (request.url.contains("geo:")) {
                launch(request.url);
                return NavigationDecision.prevent;
             } else {
                return NavigationDecision.navigate;
             }
          },
          ) ,
          
      ),

    );
    
  }
  
}
→ Ссылка