Bing карты Silverlight управления в C # - PullRequest
2 голосов
/ 25 декабря 2010

Интересно, не могли бы вы помочь мне в этом ... Я пытаюсь контролировать свою карту с помощью кода C # ниже.Но по какой-то причине он ничего не делает, когда я вызываю этот метод, и я не совсем уверен, почему ?!Не уверены, правильно ли я использую .Equals?

C #

private void NW_zoom(object sender, ManipulationStartedEventArgs e)
    {
        GeoCoordinate abc = new GeoCoordinate(51.510, -0.1151);
        Map.CenterProperty.Equals(abc);

        var zoom = 12;
        Map.ZoomLevelProperty.Equals(zoom);
     }

Управление картой XMAL:

 <maps:Map ZoomLevel="10" Mode="Road" Margin="0,0,0,54"   ZoomBarVisibility="Visible" ScaleVisibility="Visible" CredentialsProvider="xxxxxxx" Grid.Row="1">
       <maps:Map.Center>
            <device:GeoCoordinate Latitude="51.510669" Longitude="-0.11512800"/>
        </maps:Map.Center> 
        <maps:MapLayer  x:Name="QuakeLayer" Height="726" Width="477" /> 
    </maps:Map>

Ответы [ 4 ]

1 голос
/ 25 декабря 2010

Не работая с этим элементом управления, я не могу точно ответить на ваш вопрос, но

Map.CenterProperty.Equals(abc);

выполняет только логическое сравнение, я уверен, что вы хотите установить какое-то свойство, как в

Map.CenterPropert= abc;

(то же самое относится и к другой собственности)

1 голос
/ 25 декабря 2010

Я думаю, что вы надеетесь сделать следующее:

Map.SetView(new Location(51.510, -0.1151), 12);

Редактировать -

Вы были правы, приведенный выше код не поддерживается для элемента управления WP7 bing Map

это должно работать для вас:

map1.SetView(new System.Device.Location.GeoCoordinate(51.510, -0.1151), 12.00);
1 голос
/ 25 декабря 2010

Equals сравнивает значения, не устанавливает их.

Попробуйте

Map.CenterProperty = abc;

и

Map.ZoomLevelProperty = zoom;
0 голосов
/ 28 января 2012

ZoomLevelProperty является свойством, поэтому, если вы хотите установить его в коде позади, вам нужно использовать метод SetValue объекта карты.

map.SetView(Map.ZoomLevelProperty, zoom);
...