0

bing maps components在 C# for WP7 中使用我的自定义图块。
我覆盖Microsoft.Phone.Controls.Maps.TileSource,一切正常,我可以使用我的瓷砖。

但是,因为没有全世界,我只想限制泛在一个城市范围内?

MapDragEventArgs查堵锅是正确的??

private void map_MapPan(object sender, MapDragEventArgs e)
{
  Map m = (Map)sender;
  // something...?
}

...或者我需要覆盖其他东西?在这种情况下,我需要覆盖什么?

谢谢。

4

2 回答 2

1

我没有在 Windows phone 7 上使用 Bing 地图,因此仅根据文档,我会执行以下操作:

  1. 始终初始化地图,使其视图边界矩形位于您定义的图块区域内。
  2. 绑定到 ViewChangeStart 事件。(或 ViewChangeOnFrame,您必须试验并确定使用哪个)
  3. ViewChangeStart 的内部处理程序,检查 TargetBoundingRectangle 是否正确落在您的图块覆盖区域之外。
  4. 如果 TargetBoundingRectangle 不在您的覆盖范围内,请想办法取消视图更改或手动将边界矩形设置回之前的有效状态。

假设一切都像我期望的那样工作,这应该将用户地图导航限制在您的有限区域,并避免在用户导航后视图“捕捉”回到其他地方的行为。

于 2013-03-01T18:08:06.527 回答
0

您可以轻松做的最好的方法是使用 ViewChangeEnd 事件并将地图设置回您的覆盖区域。

请参阅 MSDN 参考来执行此操作:

http://msdn.microsoft.com/en-us/library/microsoft.phone.controls.maps.core.mapcore.viewchangeend(v=vs.92).aspx

于 2013-03-01T13:02:20.543 回答