2015-11-15 130 views
0

问题1Bing地图图钉和Zoomin /缩小

目前,我有我的Bing地图建立,但我想补充一个放大和缩小按钮,在我按下搜索按钮的时刻,它需要我缩放级别为17,我想知道为了在每次单击按钮时从缩放级别添加或删除一行代码,我必须编写哪两行代码?

问题2

我也希望用我的应用程序中的图钉,我可以在一个位置设置了一个简单的设置为中心,但我想这是中央在应用新的位置,留在相同的地点,而不是滚动时,它会从原来的中心点断开?

+0

我相信有一个'ZoomLevel'属性只是一个'double',你可以简单地增加/减少按钮点击的值。 –

回答

1

下面是一个简单的导航栏,其提供平移按钮和变焦滑块:

<Grid HorizontalAlignment="Left" VerticalAlignment="Top" Height="290"> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="30"/> 
     <ColumnDefinition Width="30"/> 
     <ColumnDefinition Width="30"/> 
    </Grid.ColumnDefinitions> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="30"/> 
     <RowDefinition Height="30"/> 
     <RowDefinition Height="30"/> 
     <RowDefinition/> 
    </Grid.RowDefinitions> 

    <Button Content="&#8657;" Width="25" Height="25" Grid.Column="1" Tag="Up" Click="PanMap_Click"/> 
    <Button Content="&#8658;" Width="25" Height="25" Grid.Row="1" Grid.Column="2" Tag="Right" Click="PanMap_Click"/> 
    <Button Content="&#8659;" Width="25" Height="25" Grid.Row="2" Grid.Column="1" Tag="Down" Click="PanMap_Click"/> 
    <Button Content="&#8656;" Width="25" Height="25" Grid.Row="1" Tag="Left" Click="PanMap_Click"/> 

    <Slider Name="ZoomBar" Orientation="Vertical" Height="180" Width="20" Margin="10,10" Grid.ColumnSpan="3" Grid.Row="3" 
     HorizontalAlignment="Center" Minimum="1" Maximum="19" SmallChange="1"/> 
</Grid> 

对于变焦条我它是到地图的中心属性是这样的:

<m:Map Name="MyMap" ZoomLevel="{Binding Value, ElementName=ZoomBar, Mode=TwoWay}"/> 

这里是平移背后的代码:

private void PanMap_Click(object sender, RoutedEventArgs e) 
{ 
    Button b = sender as Button; 
    Point p; 

    MyMap.TryLocationToViewportPoint(MyMap.Center, out p); 

    if (p != null) 
    { 
     switch (b.Tag as string) 
     { 
      case "Up": 
       p.Y -= 50; 
       break; 
      case "Down": 
       p.Y += 50; 
       break; 
      case "Left": 
       p.X -= 50; 
       break; 
      case "Right": 
       p.X += 50; 
       break; 
     } 

     Microsoft.Maps.MapControl.WPF.Location l; 
     MyMap.TryViewportPointToLocation(p, out l); 
     MyMap.SetView(l, MyMap.ZoomLevel); 
    } 
} 

你是什么意思问题2?如果您将图钉添加到地图,则应该保持连接到您指定的坐标,而不是平移时地图的中心,因为地图的中心位置不同。你是否只想对地图进行控制,以便在平移时不移动?