我试图将谷歌地图放在我的应用程序上,我安装了包 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.PropertyMapper2[[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 行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
在 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章