xamarin.forms包还原失败

时间:2018-03-07 03:18:35

标签: xamarin xamarin.forms xamarin.android

我正在使用visual studio 15.6.0版本。我安装了以下SDK Manager:

enter image description here

我正在尝试在我的应用程序中使用Google地图。以下是我在main.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:local="clr-namespace:App1"
             xmlns:maps="clr-namespace:Xamarin.Forms.Maps;assembly=Xamarin.Forms.Maps"
             x:Class="App1.MainPage">

    <maps:Map x:Name="MainMap"></maps:Map>

</ContentPage>

我还安装了Xamarin.forms.maps。之后我试图安装Xamarin.playservices.Base,  Xamarin.playservices.Basement,  Xamarin.playservices.maps和  使用nuget的Xamarin.playservices.taks。以下是管理nuget pacakges的图片

enter image description here

当我尝试通过nugget

安装时,我一直收到以下错误
   Package restore failed. Rolling back package changes for 'App1.Android'.

我是否需要Xamarin.playservices.Base,Basement,Tasks才能使用Google地图?我的main.xaml.cs代码如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Forms;
using Xamarin.Forms.Maps;




namespace App1
{
    public partial class MainPage : ContentPage
    {
        public MainPage()
        {
            InitializeComponent();
        }

        protected override void OnAppearing()
        {
            base.OnAppearing();
            MainMap.MoveToRegion(MapSpan.FromCenterAndRadius(new Position(36.89, 10.18), Distance.FromKilometers(5)));
        }
    }
}

当我尝试运行应用程序时,我看不到任何地图,虽然我可以看到app1的图标,当我双击一个空白页面时出现。我的android清单文件如下所示:

enter image description here

我的android manifest.xml文件看起来像这样

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.co.App1" android:installLocation="auto">
    <uses-sdk android:minSdkVersion="15" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
    <uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <application android:label="$safeprojectname$">
        <meta-data android:label="com.google.android.maps.geo.API_KEY" android:value="AIzaSyDxhj-n96-YaWHibZU2e5BK02U9UzRCnC0" />
    </application>
</manifest>

以下是编译目标版本:

enter image description here

下面的

是添加到我的项目中的引用的图像:

enter image description here

1 个答案:

答案 0 :(得分:1)

  

我是否需要Xamarin.playservices.Base,Basement,Tasks才能使用Google地图?

实际上,使用VS 15.6,无需独立安装Xamarin.playservices.Base和其他依赖项。当您将Xamarin.Forms.Maps安装到本机项目时,相关的依赖项将被引用到您的项目中,并会通过弹出对话框通知您:

enter image description here