BETA
Aby się zalogować, najpiew wybierz portal.
Aby się zarejestrować, najpiew wybierz portal.
Podaj słowa kluczowe
Słowa kluczowe muszą mieć co najmniej 3 sąsiadujące znaki alfanumeryczne
Pole zawiera niedozwolone znaki

Baza wiedzy











Porada : Launchers for Windows Phone - Bing Maps Task, a Polska lokalizacja.

01-10-2012 08:00 | sha4ky
Przykład kontrolki pozwalającej w pewnym stopniu zastąpić niedostępne dla Polski Bing Maps Task.

Każdy zna dobrodziejstwa jakie płyną z używania Launchers and Choosers dla Windows Phone , jednak nie wszystkie z nich są dostępne dla Polski. W zasadzie chodzi o jeden konkretny a mianowicie Bing Maps Task , który nie dość że praktycznie nie pokazuje oczekiwanego wyniku to jeszcze jest okrojony tylko do pokazywania naszej pozycji.

BingMapsTaskPL

Po przeszukaniu zakątków internetu próbowałem wziąć kontrolkę w ryzy ustawiając na siłę parametr CultureInfo.CurrentCulture ponieważ zawiera metodę set. Jednak jak się okazało Bing Maps Task wywołuje się jako osobna instancja i nie ma możliwości zmiany jej kultury.

Domyślnie w systemie mamy dostarczoną kontrolkę Bing Maps, jest to wspaniała rzecz ponieważ nie martwiąc się o nic podpinamy mapkę do aplikacji i ustawiamy tylko jej parametry takie jak np. współrzędne. Dodając pasek z przyciskami funkcjonalnymi możemy osiągnąć podobny efekt co z Bing Maps Task lecz bardziej spersonalizowany.

Poniżej widok z mojej aplikacji, oraz kod :

Moja Mapa

Jak widać jest to standardowa mapa z przyciskami "Przybliż" , "Oddal" oraz z zmianą trybu mapy. Nic trudnego , dodatkowo można dodać inne zakładki w pasku adresu rozszerzając możliwości mapy.

<Grid x:Name="ContentPanel" Margin="12,0" Grid.RowSpan="2">

            <my:Map Height="800" HorizontalAlignment="Left" Name="MapaPark" VerticalAlignment="Top" Width="480" Margin="-12,0,0,0" CredentialsProvider="Kod dla naszej Mapy"/>
        </Grid>
    </Grid>
 

    <phone:PhoneApplicationPage.ApplicationBar>
        <shell:ApplicationBar IsVisible="True" IsMenuEnabled="True">
            <shell:ApplicationBarIconButton IconUri="/Images/plus.png" Text="Przybliż" Click="ApplicationBarIconButton_Click" />
            <shell:ApplicationBarIconButton IconUri="/Images/minus.png" Text="Oddal" Click="ApplicationBarIconButton_Click_1" />
            <shell:ApplicationBarIconButton IconUri="/Images/map.png" Text="Tryb" Click="ApplicationBarIconButton_Click_2" />
        </shell:ApplicationBar>
    </phone:PhoneApplicationPage.ApplicationBar>

Oraz prosty kod programu :


private void ApplicationBarIconButton_Click(object sender, EventArgs e)
        {
            double zoom;
            zoom = MapaPark.ZoomLevel;
            MapaPark.ZoomLevel = ++zoom;
        }

        private void ApplicationBarIconButton_Click_1(object sender, EventArgs e)
        {
            double zoom;
            zoom = MapaPark.ZoomLevel;
            MapaPark.ZoomLevel = --zoom;
        }

        private void ApplicationBarIconButton_Click_2(object sender, EventArgs e)
        {
            if (MapaPark.Mode.ToString() == "Microsoft.Phone.Controls.Maps.AerialMode")
            {
                MapaPark.Mode = new RoadMode();
            }
            else
            {
                MapaPark.Mode = new AerialMode() { ShouldDisplayLabels = true };
            }
        }
Źródło: Własne

Komentarze 0

pkt.

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.