2015-01-14 131 views
0

我試圖在我的應用程序中顯示地圖控件,目標是Windows Phone 8,但我想使用打開的街道地圖中的自定義圖塊。WP8使用自定義圖塊的地圖控件

我使用這行:

​​

當我啓動應用程序的定製瓷磚正常顯示,但仍然有默認的地圖瓦片他們腳下。

我試圖隱藏它們,但我甚至沒有找到它們存在於地圖控件中的位置以及準確顯示它們的位置。

我想知道如何在加載自定義圖塊時刪除這些默認圖塊。

我試圖隱藏它們,但我甚至沒有找到它們存在於地圖控件中的位置以及準確顯示它們的位置。

PS:這裏的鏈接到「老」兵地圖的控制,如果你不能在最新的WP工具找到它:http://www.microsoft.com/en-us/download/confirmation.aspx?id=2949

回答

0

我用新的WP8「諾基亞HERE地圖」的地圖控件嘗試這樣做自己,但爲無法實現這一點。我不得不求助於回退到Microsoft.Phone.Controls.Maps(標記爲廢棄)中基於舊的「Bing」的地圖控件。

下面是如何刪除其他層在舊Microsoft.Phone.Controls.Maps控制:

儘管這種舊的地圖控件已經WP8被取代較新的控制似乎
for (var i = Map.Children.Count - 1; i >= 0; i--) 
{ 
    MapTileLayer tileLayer = Map.Children[i] as MapTileLayer; 
    if (tileLayer != null) 
    { 
     Map.Children.RemoveAt(i); 
    } 
} 

不支持如果在您的應用中使用WP8.1,那麼圖層和「過時」控件的相同靈活性仍然可以愉快地工作。

這裏是我的應用程序仍然使用舊的控制,這可能是實現你想要做的 - NZ Topo Map app for Windows Phone

砍倒的XAML在您的應用程序使用舊地圖控件(你可能會希望忽略我的數據綁定和用自己取代他們):

<UserControl x:Class="TopoMap.Controls.Map" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:m="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" 
    mc:Ignorable="d" 
    FontFamily="{StaticResource PhoneFontFamilyNormal}" 
    FontSize="{StaticResource PhoneFontSizeNormal}" 
    Foreground="{StaticResource PhoneForegroundBrush}" 
    d:DesignHeight="480" d:DesignWidth="480" 
    DataContext="{Binding Main, Source={StaticResource Locator}}"> 

    <Grid x:Name="LayoutRoot" Background="Transparent"> 
     <m:Map x:Name="MapBase" LogoVisibility="Collapsed" ScaleVisibility="Visible" 
       Loaded="Map_Loaded" 
       LayoutUpdated="Map_LayoutUpdated" 
       ZoomLevel="{Binding ZoomLevel, Mode=TwoWay}" 
       Center="{Binding Center, Mode=TwoWay}"> 
     </m:Map> 
    </Grid> 

</UserControl> 

,你需要它的重要的參考:

xmlns:m="clr-namespace:Microsoft.Phone.Controls.Maps;assembly=Microsoft.Phone.Controls.Maps" 
+0

的一點是,我使用的Visual Studio 2013的新安裝了最新的工具和我不能在任何地方找到這個命名空間(Microsoft.Phone.Controls.Maps)看起來它已經被刪除最新的工具。 – MakanWG

+0

也許你正在開發WP8.1應用程序而不是WP8應用程序?您的標籤陳述「windows-phone-8」。這兩個平臺在可用性方面存在很大差異。 – Gavin

+0

我正在爲Windows 8.0進行開發,並且正如我所想的那樣,該控件在工具中不再可用,但我可以將其作爲獨立下載找到。如果有人需要,我會在原始問題中發佈鏈接。 – MakanWG