【问题标题】:Multiple pushpin on bing map windows 8.1bing map windows 8.1上的多个图钉
【发布时间】:2014-01-29 21:00:30
【问题描述】:

我想在 Bing 地图上绘制多个图钉/多边形,我有 Windows 8.1,在我的数据变量中它有 4 个值,但它没有在地图上显示任何内容。

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);

}

【问题讨论】:

    标签: c# windows-8 bing-maps bing


    【解决方案1】:

    首先,您似乎正在创建一个带有循环中每个图钉的地图。您应该只创建一个映射,它应该在 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);
    

    【讨论】:

    • 我添加了 Map _map = new Map();在循环之上,但没有运气
    • 您必须将地图添加到视图中。将其添加为以 XAML 呈现的 Grid 或 Panel 的子项,或直接在 XAML 中添加地图。现在你所做的只是在内存中创建一个 Map 并且从不渲染它。
    • MapLayer layer0 = new MapLayer();图钉图钉 = 新图钉(); MapLayer.SetPosition(图钉,新位置((双)DDataFromDB.dLatitude,(双)DDataFromDB.dLongitude)); MyMap.Children.Add(pushpin);
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多