引用类型GoogleMap.IOnCameraMoveListener声称它是在Xamarin.GooglePlayServices中定义的

时间:2018-04-05 20:03:14

标签: google-maps xamarin xamarin.forms xamarin.ios xamarin.android

我正面临一个与参考相关的问题,因为标题显示我得到了:

  

对“GoogleMap.IOnCameraMoveListener”类型的引用声称它是   在'Xamarin.GooglePlayServices.Maps'中定义,但它不可能   找到C:\ Users \ App.Xamarin \ App.Android \ CustomMapRenderer.cs

我一直试图在三星Galaxy S8 + Android API 27上使用现场播放器但没有成功。

using Android.Gms.Maps.Model;
using App.Android;
using App.Portable.Vista.ControlesUsuario.Mapas;
using System.Collections.Generic;
using Xamarin.Forms;
using Xamarin.Forms.Maps;
using Xamarin.Forms.Maps.Android;

[assembly: ExportRenderer(typeof(MapaGoogle), typeof(CustomMapRenderer))]
namespace App.Android
{
    public class CustomMapRenderer : MapRenderer
    {
        List<Position> routeCoordinates;
        bool isDrawn;

        protected override void OnElementChanged(Xamarin.Forms.Platform.Android.ElementChangedEventArgs<Map> e)
        {
            base.OnElementChanged(e);

            if (e.OldElement != null)
            {
                // Unsubscribe
            }

            if (e.NewElement != null)
            {
                var formsMap = (MapaGoogle)e.NewElement;
                routeCoordinates = formsMap.RouteCoordinates;
                Control.GetMapAsync(this);
            }
        }

        protected override void OnElementPropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
        {
            base.OnElementPropertyChanged(sender, e);

            if (e.PropertyName.Equals("VisibleRegion") && !isDrawn)
            {
                var polylineOptions = new PolylineOptions();
                polylineOptions.InvokeColor(0x66FF0000);

                foreach (var position in routeCoordinates)
                {
                    polylineOptions.Add(new LatLng(position.Latitude, position.Longitude));
                }

                NativeMap.AddPolyline(polylineOptions);
                isDrawn = true;
            }
        }
    }
}

我花了两天时间试图找出正在发生的事情但是很难找到解决方案,因为如果我没有弄错的话,错误太具体了。

我只在this link找到了相关信息。

另外,我不知道它是否与需要更新GooglePlayServices,Forms等的NuGet包有关。但是,每当我更新它们时,整个解决方案都会错过引用。

任何帮助都将受到高度赞赏!

干杯,

Eric R。

0 个答案:

没有答案