[Windows Phone] 地圖控制項的經緯度

本文主要示範如何使用地圖經緯度以及顯示地標和行人街道,並透過捲軸控制地圖縮放比例的功能。

前言

本文主要示範如何使用地圖經緯度以及顯示地標和行人街道,並透過捲軸控制地圖縮放比例的功能。

 

實作

step1 建立專案。

 

step2  在 WMAppManifest.xml 的地方用滑鼠點兩下。

 

step3  進去WMAppManifest.xml 後,先點選 [功能],再勾選 [ID_CAP_MAP] 來開啟地圖功能。

 

step4  設計畫面

產生 xaml 的程式如下:

在 phone:PhoneApplicationPage 加入下方程式碼引用 Microsoft.Phone.Maps,才能使用地圖控制項。


 xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"

 


<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10,10,14,-10">
            <TextBlock HorizontalAlignment="Left" Margin="10,29,0,0" TextWrapping="Wrap" VerticalAlignment="Top" FontSize="25" Height="53" Width="120" Text="緯度/經度"/>
            <Button Content="Button" HorizontalAlignment="Left" Height="0" Margin="88,53,0,0" VerticalAlignment="Top" Width="12"/>
            <TextBox x:Name="tba" HorizontalAlignment="Left" Height="72" Margin="130,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="96" RenderTransformOrigin="0.461,0.539"/>
            <TextBox x:Name="tbb" HorizontalAlignment="Left" Height="72" Margin="231,10,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="96"/>

            <maps:Map x:Name="map" HorizontalAlignment="Left" Margin="10,154,0,0" VerticalAlignment="Top" Height="443" Width="436" ZoomLevel="18"
                      LandmarksEnabled="True" 
                      PedestrianFeaturesEnabled="True"/>
            <!--  LandmarksEnabled顯示地標 , PedestrianFeaturesEnabled顯示行人街道-->
            <Button x:Name="btn" Content="確定" HorizontalAlignment="Left" Margin="327,10,0,0" VerticalAlignment="Top"/>
            <TextBlock HorizontalAlignment="Left" Margin="10,87,0,0" TextWrapping="Wrap" Text="地圖縮放" VerticalAlignment="Top" Width="109" Height="46" FontSize="25"/>
            <Slider x:Name="sld" HorizontalAlignment="Left" Margin="128,72,0,0" VerticalAlignment="Top" Width="280" Height="85" FontSize="15" Value="10" Minimum="1" Maximum="20"/>

        </Grid>

 

step5 MainPage.xaml.cs 程式碼中的事件處理函式如下:


  public partial class MainPage : PhoneApplicationPage
    {
        // 建構函式
        public MainPage()
        {
            InitializeComponent();
            sld.ValueChanged += 
                new RoutedPropertyChangedEventHandler (sld_ValueChanged);
            // 將 ApplicationBar 當地語系化的程式碼範例
            //BuildLocalizedApplicationBar();
        }

        private void sld_ValueChanged(object sender, RoutedPropertyChangedEventArgs e)
        {
            map.ZoomLevel = sld.Value;
        }

        private void btn_Click(object sender, RoutedEventArgs e)
        {
            Double Latitude, Longitude;  //Latitude緯度、Longitude經度
            Latitude = Double.Parse(tba.Text);
            Longitude = Double.Parse(tbb.Text);
            map.Center = new GeoCoordinate(Latitude, Longitude);
            map.ZoomLevel = 10; //地圖縮放比例
        }

結果

此應用程式包含使用地圖經緯度以及顯示地標和行人街道,並透過捲軸控制地圖縮放比例的功能。

 

範例下載

map經緯度.rar

 

相關參考與引用

Maps and navigation for Windows Phone 8