Microsoft.Maui.Platform.HandlerNotFoundException:“找不到视图 Maui.GoogleMaps.Map 的处理程序。”

问题描述 投票:0回答:1

我试图将谷歌地图放在我的应用程序上,我安装了包 onion.Maui.GoogleMaps ,问题是该包仅受 android 和 ios 支持,当我构建移动应用程序时,它很好,但我不断收到错误其他平台,如 mac,特别是 Microsoft,因为使用它们不支持的软件包。 我试图通过使用避免program.cs中的错误:

 #if ANDROID || IOS
    using Maui.GoogleMaps.Hosting; // Include this only for Android and iOS
    #endif

但我不知道如何在 xaml.cs 中避免它,或者是否可以指定项目的平台?就像我只想在 ios 和 android 上工作一样。 这是 xaml 文件夹:

"<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiApp1.NewPage3"
              xmlns:maps="clr-namespace:Maui.GoogleMaps;assembly=Maui.GoogleMaps"
             Title="NewPage3"
             >

    <maps:Map x:Name="mymap"
                      VerticalOptions="FillAndExpand" />
</ContentPage>"

这是 xaml.cs 文件: ”

using Maui.GoogleMaps;


namespace MauiApp1;

public partial class NewPage3 : ContentPage
{
    public NewPage3()
    {
        InitializeComponent();
    }

}

” 这是错误的详细信息“

Microsoft.Maui.Platform.HandlerNotFoundException 消息 = 处理程序不存在 找到了查看 Maui.GoogleMaps.Map 的信息。 来源=Microsoft.Maui
堆栈跟踪:位于 Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement 视图, IMauiContext 上下文)中 D:_work \s\src\Core\src\Platform\ElementExtensions.cs:第 92 行
在 Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement 视图, IMauiContext 上下文)中 D:_work \s\src\Core\src\Platform\ElementExtensions.cs:第 127 行
在 Microsoft.Maui.Handlers.ContentViewHandler.UpdateContent(IContentViewHandler 处理程序)中 D: _work \s\src\Core\src\Handlers\ContentView\ContentViewHandler.Android.cs:line 44 于 Microsoft.Maui.Handlers.ContentViewHandler.MapContent(IContentViewHandler 处理程序,IContentView 页面)中 D: _work \s\src\Core\src\Handlers\ContentView\ContentViewHandler.Android.cs:line 49 于 Microsoft.Maui.PropertyMapper

2.<>c__DisplayClass5_0[[Microsoft.Maui.IContentView, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null],[Microsoft.Maui.Handlers.IContentViewHandler, Microsoft.Maui, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].<Add>b__0(IElementHandler h, IElement v) in D:\a\_work\1\s\src\Core\src\PropertyMapper.cs:line 172    at Microsoft.Maui.PropertyMapper.UpdatePropertyCore(String key, IElementHandler viewHandler, IElement virtualView) in D:\a\_work\1\s\src\Core\src\PropertyMapper.cs:line 47    at Microsoft.Maui.PropertyMapper.UpdateProperties(IElementHandler viewHandler, IElement virtualView) in D:\a\_work\1\s\src\Core\src\PropertyMapper.cs:line 82    at Microsoft.Maui.Handlers.ElementHandler.SetVirtualView(IElement view) in D:\a\_work\1\s\src\Core\src\Handlers\Element\ElementHandler.cs:line 79    at Microsoft.Maui.Handlers.ViewHandler.SetVirtualView(IElement element) in D:\a\_work\1\s\src\Core\src\Handlers\View\ViewHandler.cs:line 129    at Microsoft.Maui.Handlers.ViewHandler
2[[Microsoft.Maui.IContentView, Microsoft.Maui,版本=1.0.0.0,文化=中性, PublicKeyToken = null],[Microsoft.Maui.Platform.ContentViewGroup, Microsoft.Maui,版本=1.0.0.0,文化=中性, PublicKeyToken=null]].SetVirtualView(IView视图)中 D: _work \s\src\Core\src\Handlers\View\ViewHandlerOfT.cs:第 53 行
在 Microsoft.Maui.Handlers.ContentViewHandler.SetVirtualView(IView 视图)中 D: _work \s\src\Core\src\Handlers\ContentView\ContentViewHandler.Android.cs:line 27 于 Microsoft.Maui.Handlers.ViewHandler`2[[Microsoft.Maui.IContentView, Microsoft.Maui,版本=1.0.0.0,文化=中性, PublicKeyToken = null],[Microsoft.Maui.Platform.ContentViewGroup, Microsoft.Maui,版本=1.0.0.0,文化=中性, PublicKeyToken=null]].SetVirtualView(IElement 视图) 中 D:_work \s\src\Core\src\Handlers\View\ViewHandlerOfT.cs:第 56 行
在 Microsoft.Maui.Controls.Element.SetHandler(IElementHandler 新处理程序)中 D: _work \s\src\Controls\src\Core\HandlerImpl\Element\Element.Impl.cs:行 69 在 Microsoft.Maui.Controls.Element.set_Handler(IElementHandler 值)在 D: _work \s\src\Controls\src\Core\HandlerImpl\Element\Element.Impl.cs:行 19 于 Microsoft.Maui.Controls.VisualElement.Microsoft.Maui.IElement.set_Handler(IElementHandler 值)在 D: _work \s\src\Controls\src\Core\HandlerImpl\VisualElement\VisualElement.Impl.cs:行 308 在 Microsoft.Maui.Platform.ElementExtensions.ToHandler(IElement 视图,IMauiContext 上下文)中 D:_work \s\src\Core\src\Platform\ElementExtensions.cs:第 96 行
在 Microsoft.Maui.Platform.ElementExtensions.ToPlatform(IElement 视图, IMauiContext 上下文)中 D:_work \s\src\Core\src\Platform\ElementExtensions.cs:第 127 行
在 Microsoft.Maui.Platform.ScopedFragment.OnCreateView(LayoutInflater inflater、ViewGroup 容器、Bundle savingInstanceState) 中 D: _work \s\src\Core\src\Platform\Android\Navigation\ScopedFragment.cs:line 22 于 AndroidX.Fragment.App.Fragment.n_OnCreateView_Landroid_view_LayoutInflater_Landroid_view_ViewGroup_Landroid_os_Bundle_(IntPtr jnienv,IntPtr native__this,IntPtr native_inflater,IntPtr native_container、IntPtr native_savedInstanceState)中 C: _work \s\生成的 ndroidx.fragment.fragment\obj\Release et6.0-android\ generated\src\AndroidX.Fragment.App.Fragment.cs:行 2031 年 Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPLLL_L(_JniMarshal_PPLLL_L 回调,IntPtr jnienv,IntPtr klazz,IntPtr p0,IntPtr p1,IntPtr p2) 在 /Users/runner/work/1/s/xamarin-android/src/Mono.Android/Android.Runtime/JNINativeWrapper.g.cs:line 第352章

c# .net mobile maui multiplatform
1个回答
0
投票
我在使用地图 8.0.3 时也遇到了同样的问题。降级到 7.0.101 就可以了。

© www.soinside.com 2019 - 2024. All rights reserved.