Xamarin IOS перетаскиваемый маркер карты Google - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь перетащить маркер (Google Map API iOS) в iOS. Я не уверен, где я иду не так. Я вижу маркер на карте Google, но маркер не перетаскивается. Я использовал собственный частичный вид рендерера, чтобы показать карту. Ниже приведен код:

[assembly: ExportRenderer(typeof(RegisterFacilityIOSMapView), typeof(RegisterFacilityMapViewRenderer))]
namespace RadLoc.iOS.Renderers
{
public class RegisterFacilityMapViewRenderer : ViewRenderer
{
    MapView mapView;
    CLLocationManager LocMgr;
    Marker marker;
    CameraPosition camera;

    protected override void OnElementChanged(ElementChangedEventArgs<View> e)
    {
        base.OnElementChanged(e);
        try
        {
            LocMgr = CLLocationManagerSingleton.Instance;
            camera = CameraPosition.FromCamera(latitude: LocMgr.Location.Coordinate.Latitude, longitude: LocMgr.Location.Coordinate.Longitude, zoom: 10);
            mapView = MapView.FromCamera(CGRect.Empty, camera);
            //mapView.MyLocationEnabled = true;
            mapView.AddObserver(this, new NSString("My Location"), NSKeyValueObservingOptions.New, IntPtr.Zero);
            mapView.UserInteractionEnabled = true;
            SetNativeControl(mapView);

            UIImage color = Marker.MarkerImage(UIColor.FromRGB(87, 188, 236));

            var circleCenter = new CLLocationCoordinate2D(LocMgr.Location.Coordinate.Latitude, LocMgr.Location.Coordinate.Longitude);
            marker = Marker.FromPosition(circleCenter);
            marker.UserData = new Foundation.NSObject();
            //marker.Position = circleCenter;
            marker.Icon = color;
            marker.Title = "My Loc";
            marker.ZIndex = 9999;
            marker.Draggable = true;


            mapView.DraggingMarkerStarted += (s, ee) =>
            {

            };
            mapView.DraggingMarkerEnded += (s, ee) =>
            {

            };
            mapView.DraggingMarker += (s, ee) =>
            {

            };
            marker.Map = mapView;

            marker.Draggable = true;
        }
        catch (Exception ee)
        {

        }
    }
  }
}
...