首页 > 解决方案 > System.Reflection.TargetInvocationException:调用的目标已引发异常。发生了

问题描述

我为我的项目安装了 Xamarin.Forms.GoogleMaps 包。我在 XAML 页面中有此代码:

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:maps="clr-namespace:Xamarin.Forms.GoogleMaps;assembly=Xamarin.Forms.GoogleMaps"
             x:Class="AppXamarin.Pages.MapPage">
    <ContentPage.Content>
        <maps:Map  x:Name="map" ></maps:Map>
    </ContentPage.Content>
</ContentPage>

启动应用程序时,我不断收到此异常!

是什么导致异常?

标签: google-mapsxamarin.forms

解决方案


您需要为Xamarin.Forms.GoogleMapsin添加初始化MainActivity.cs

这里:

 public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
    {
        protected override void OnCreate(Bundle savedInstanceState)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(savedInstanceState);
            global::Xamarin.Forms.Forms.Init(this, savedInstanceState);


            // initialize for Xamarin.Forms.GoogleMaps    
            Xamarin.FormsGoogleMaps.Init(this, savedInstanceState); 

            LoadApplication(new App());
        }
    }

这是您可以参考的示例:XFGoogleMapSample

您还需要创建一个 Android API 密钥才能使用 Google Map。

如何在 xamarin-forms 中使用谷歌地图


推荐阅读