UWP MapControl:如何防止缩放 MapDoubleTapped?
UWP MapControl: How to prevent zoom on MapDoubleTapped?
我需要在地图多边形上捕获双重 click/tap 事件以显示 "edit properties" 对话框。如何防止双击(在多边形上)进行地图缩放?没有 e.Handled 属性 可用。地图必须仍然可以通过双击免费 space(无多边形)来缩放。
下面是一个如何在双击时禁用缩放的示例:
MyMapControl.MapDoubleTapped += MyMapControl_MapDoubleTapped;
private void MyMapControl_MapDoubleTapped(MapControl sender, MapInputEventArgs args)
{
var currentCamera = sender.ActualCamera;
sender.TrySetSceneAsync(MapScene.CreateFromCamera(currentCamera));
}
如果您只想在双击多边形时禁用此功能。尝试在多边形双击事件处理程序中使用设置场景。
这应该适用于所有缩放级别
private async void OnMapDoubleTapped(MapControl sender, MapInputEventArgs args)
{
double zoom = sender.ZoomLevel;
var camera= sender.ActualCamera;
await sender.TrySetViewAsync(camera.Location, zoom);
}
我需要在地图多边形上捕获双重 click/tap 事件以显示 "edit properties" 对话框。如何防止双击(在多边形上)进行地图缩放?没有 e.Handled 属性 可用。地图必须仍然可以通过双击免费 space(无多边形)来缩放。
下面是一个如何在双击时禁用缩放的示例:
MyMapControl.MapDoubleTapped += MyMapControl_MapDoubleTapped;
private void MyMapControl_MapDoubleTapped(MapControl sender, MapInputEventArgs args)
{
var currentCamera = sender.ActualCamera;
sender.TrySetSceneAsync(MapScene.CreateFromCamera(currentCamera));
}
如果您只想在双击多边形时禁用此功能。尝试在多边形双击事件处理程序中使用设置场景。
这应该适用于所有缩放级别
private async void OnMapDoubleTapped(MapControl sender, MapInputEventArgs args)
{
double zoom = sender.ZoomLevel;
var camera= sender.ActualCamera;
await sender.TrySetViewAsync(camera.Location, zoom);
}