我正面临一个与参考相关的问题,因为标题显示我得到了:
对“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。