[Windows Phone] 实作不同的地图显示模式

原文:[Windows Phone] 实作不同的地图显示模式

前言

本文章主要示范如何让地图有不同的模式产生,例如平面图、地形图、鸟瞰图、鸟瞰图含街道等。

这部分主要是调整 Map.CartographicMode 属性,其中 MapCartographicMode 列举包含:

  • Road:Specifies the road mode of the map control.
  • Aerial:Specifies the aerial mode of the map control.
  • Hybrid:Specifies an aerial mode with overlaid roads and labels.
  • Terrain:Specifies the terrain mode of the map control.

?

实作

step1 建立专案。

[Windows Phone] 实作不同的地图显示模式

?

step2 在 WMAppManifest.xml 的地方用滑鼠点两下进行编辑。

[Windows Phone] 实作不同的地图显示模式

?

step4 进去 WMAppManifest.xml 後,先点选 [功能],再勾选 [ID_CAP_MAP] 来开启地图功能。

[Windows Phone] 实作不同的地图显示模式

?

step5 MainPage.xaml 画面设计。

[Windows Phone] 实作不同的地图显示模式

Button1 ---->Name=btn1,Content=平面图

Button2 ---->Name=btn2,Content=地形图

Button3 ---->Name=btn3,Content=鸟瞰图

Button4 ---->Name=btn4,Content=鸟瞰图含街道

map ------>Name=map,Center="24.15,120.43"为台中市经纬度,ZoomLevel="10"为缩放比例

?

产生 xaml 程式码:

 xmlns:maps="clr-namespace:Microsoft.Phone.Maps.Controls;assembly=Microsoft.Phone.Maps"
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="10,0,14,0">
            <Button x:Name="btn1" Content="平面图" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Click="btn1_Click"/>
            <Button x:Name="btn2" Content="地形图" HorizontalAlignment="Left" Margin="150,10,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.051,0.477" Click="btn2_Click"/>
            <Button x:Name="btn3" Content="鸟瞰图" HorizontalAlignment="Left" Margin="297,10,0,0" VerticalAlignment="Top" Click="btn3_Click"/>
            <Button x:Name="btn4" Content="鸟瞰图含街道" HorizontalAlignment="Left" Margin="86,82,0,0" VerticalAlignment="Top" RenderTransformOrigin="-0.923,0.746" Click="btn4_Click" Width="287"/>

            <maps:Map x:Name="map" Center=" 24.15,120.43"  ZoomLevel=" 10" HorizontalAlignment="Left" Margin="10,172,0,0" VerticalAlignment="Top" Height="423" Width="436"/>

        </Grid>

?

step5? MainPage.xaml.cs 程式码中的事件处理函式如下:

 private void btn1_Click(object sender, RoutedEventArgs e)
        {
            map.CartographicMode = MapCartographicMode.Road;//Road为显示平面图
        }

        private void btn2_Click(object sender, RoutedEventArgs e)
        {
            map.CartographicMode = MapCartographicMode.Terrain; //Terrain为显示地形图
        }

        private void btn3_Click(object sender, RoutedEventArgs e)
        {
            map.CartographicMode = MapCartographicMode.Aerial; //Aerial为显示鸟瞰图
        }

        private void btn4_Click(object sender, RoutedEventArgs e)
        {
            map.CartographicMode = MapCartographicMode.Hybrid; //Hybrid为显示鸟瞰图含有街道
        }

结果

平面图 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 地形图

[Windows Phone] 实作不同的地图显示模式?? ? ? ? ??[Windows Phone] 实作不同的地图显示模式

鸟瞰图 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?鸟瞰图含街道

[Windows Phone] 实作不同的地图显示模式? ? ? ? ? ?[Windows Phone] 实作不同的地图显示模式

?

范例下载

map 地图模式.rar

?

相关参考与引用

Map.CartographicMode 属性

?

?


[Windows Phone] 实作不同的地图显示模式

posted on 2013/11/25 17:37 | 阅读数 : 264 | 1 人推荐 我要推荐 | Add Comment | 文章分类 [ Windows Phone ] | 订阅

上一篇:ORACLE 数据库总结


下一篇:综合应用WPF/WCF/WF/LINQ之十九:实现页面中的记录列表