2014-01-29 4 views
0

Я хочу нарисовать несколько букв/полигонов на карте Bing, у меня есть окна 8.1, в моей переменной данных есть 4 значения, но на карте ничего не отображается.Множественная pushpin on bing map windows 8.1

foreach (tblUsers item in data) 
       { 
        Location location = new Location(); 
        // item.dLatitude; item.dLongitude; 
        DDataFromDB.userID = item.nUserId; 
        DDataFromDB.dID = item.nDid; 
        DDataFromDB.dLatitude = item.dLatitude; 
        DDataFromDB.dLongitude = item.dLongitude; 
        DDataFromDB.dDate = item.dtAddDate; 
        DDataFromDB.dStatus = item.strStatus; 
        MapLayer layer0 = new MapLayer(); 

        Pushpin pushpin = new Pushpin(); 
        pushpin.Text = "1"; 
        MapLayer.SetPosition(pushpin, new Location(DDataFromDB.dLatitude, DDataFromDB.dLongitude)); 
        Map _map = new Map(); 
        _map.Children.Add(pushpin); 

} 

ответ

0

Прежде всего, создается впечатление, что вы создаете карту с каждой стойкой в ​​петле. Вы должны создать только одну карту, и она должна быть в XAML (большую часть времени) и должен выглядеть примерно так:

<Page 
    x:Class="BingMapsIntro_WinRT_CS.MainPage" 
    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="using:Bing.Maps">  

    <Grid Background="{StaticResource ApplicationPageBackgroundThemeBrush}">  
     <m:Map Name="MyMap" Credentials="YOUR_BING_MAPS_KEY"/>  
    </Grid>  
</Page> 

Затем в код получить поездку этих двух строк кода:

Map _map = new Map(); 
_map.Children.Add(pushpin); 

И добавьте эту строку кода:

MyMap.Children.Add(pushpin); 
+0

Я добавил Map _MAP = новый Map(); выше цикла, но не удачи –

+0

Вы должны добавить карту в представление. Либо добавьте его как дочерний элемент сетки или панели, который отображается в XAML, либо добавьте карту непосредственно в XAML. Сейчас все, что вы делаете, это создание Карты в памяти и никогда ее не рендеринг. – rbrundritt

+0

MapLayer layer0 = new MapLayer(); Pushpin pushpin = new Pushpin(); MapLayer.SetPosition (pushpin, новое местоположение ((double) DDataFromDB.dLatitude, (double) DDataFromDB.dLongitude)); MyMap.Children.Add (pushpin); –

Смежные вопросы