正确使用android地图渲染器的方法?

时间:2015-04-15 01:59:33

标签: c# android mobile xamarin

尝试在Android上的地图上添加Tap处理程序时,继承的正确对象是什么?我已尝试使用MapView,MapRenderer,MapActivity,Overlay等等。

CustomMapRenderer.cs

完全错了,但显示出我一直在尝试的东西。

using Xamarin.Forms;
using nuMaps;
using nuMaps.Droid;
using Android.Gms.Maps;
using System;
using Xamarin.Forms.Maps.Android;
using Xamarin.Forms.Platform.Android;
using Android.App;
using Xamarin.Forms.Maps;
using Android.Widget;
using Android.GoogleMaps;
namespace nuMaps.Droid
{
    public class CustomMapRenderer  MapActivity
    {
        public override bool OnTouchEvent (Android.Views.MotionEvent e, Android.GoogleMaps.MapView mapView)
        {
            Console.WriteLine (e.Action);
            return base.OnTouchEvent (e, mapView);
        }
    }
}

MapPage.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:nuMaps;assembly=nuMaps"
    x:Class="nuMaps.MapPage">
    <ContentPage.Content>
        <AbsoluteLayout>
            <local:CustomMap
                x:Name="MyMap"
                IsShowingUser="true"
                MapType="Hybrid"
                AbsoluteLayout.LayoutBounds="0, 0, 1, 1"
                AbsoluteLayout.LayoutFlags="All"
            />
        </AbsoluteLayout>
    </ContentPage.Content>
</ContentPage>

1 个答案:

答案 0 :(得分:1)

我实现了简单的扩展地图控件来测试自定义地图渲染器。你可以看看here。不确定这是否是你需要的。此类的唯一目的是为所有三个平台提供分路位置。这是纯粹的示例代码,不是用于制作,对我来说很好,但如果您有任何问题,请告诉我。