android 地图渲染器的正确使用方法?
Proper way to use android map renderer?
尝试在 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>
我实现了简单的扩展地图控件来测试自定义地图渲染器。你可以看看here。不确定这是否是您需要的。此 class 的唯一目的是为所有三个平台提供点击位置。这是纯示例代码,不用于生产,对我来说工作正常,但如果您有任何问题,请告诉我。
尝试在 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>
我实现了简单的扩展地图控件来测试自定义地图渲染器。你可以看看here。不确定这是否是您需要的。此 class 的唯一目的是为所有三个平台提供点击位置。这是纯示例代码,不用于生产,对我来说工作正常,但如果您有任何问题,请告诉我。