1. 設為首頁   文化中國網歡迎您~!

          C# WPF Bing地圖展示

          微信公眾號:Dotnet9,網站:Dotnet9,問題或建議,請網站留言; 如果您覺得Dotnet9對您有幫助,歡迎贊賞

          內容目錄

          1. 實現效果
          2. 業務場景
          3. 編碼實現
          4. 本文參考
          5. 源碼下載

          1.實現效果

          2.業務場景

          Bing地圖控件的使用

          3.編碼實現

          3.1 添加Nuget庫

          站長使用 .Net Core 3.1 創建的WPF工程,創建“BingMap”解決方案后,需要添加三個Nuget庫:MaterialDesignThemes、MaterialDesignColors和Bing WPF地圖控件Microsoft.Maps.MapControl.WPF,其中Bing地圖控件是.net framework 4.6.1版本,所以項目使用framework版本要好點,其實影響也不大。

          MaterialDesign控件庫

          Bing WPF地圖控件Microsoft.Maps.MapControl.WPF


          注意 使用bing map地圖控件需要注冊開發者賬號,站長只是按視頻教程敲的代碼,VS 2019設計器能正常加載地圖,但運行時會有提示請注冊開發者賬號,否則地圖無法正常顯示

          需要注冊Bing地圖開發者賬號


          3.2 工程結構

          不需要截圖,只修改了兩個文件,App.xaml添加MD控件樣式,MainWindow主窗口實現效果。

          3.3 App.xaml引入MD控件樣式

          <Application x:Class="BingMap.App"             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"             xmlns:local="clr-namespace:BingMap"             StartupUri="MainWindow.xaml">    <Application.Resources>        <ResourceDictionary>            <ResourceDictionary.MergedDictionaries>                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Dark.xaml"/>                <ResourceDictionary Source="pack://application:,,,/MaterialDesignThemes.Wpf;component/Themes/MaterialDesignTheme.Defaults.xaml"/>                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Primary/MaterialDesignColor.Blue.xaml"/>                <ResourceDictionary Source="pack://application:,,,/MaterialDesignColors;component/Themes/Recommended/Accent/MaterialDesignColor.LightBlue.xaml"/>            </ResourceDictionary.MergedDictionaries>        </ResourceDictionary>    </Application.Resources></Application>

          3.4 主窗體 MainWindow.xaml

          加載Bing地圖控件,設置地圖屬性等:

          <Window x:Class="BingMap.MainWindow"        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:local="clr-namespace:BingMap"        mc:Ignorable="d"        xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"        xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF"        Title="Bing地圖" Height="600" Width="1080" WindowStyle="None" ResizeMode="NoResize"        WindowStartupLocation="CenterScreen" Background="#FF3A3A3A">    <Grid>        <Grid.RowDefinitions>            <RowDefinition Height="40"/>            <RowDefinition Height="*"/>        </Grid.RowDefinitions>        <Grid.ColumnDefinitions>            <ColumnDefinition Width="250"/>            <ColumnDefinition Width="*"/>        </Grid.ColumnDefinitions>        <StackPanel Grid.Row="1" Margin="10">            <Grid>                <TextBox Background="White" Padding="10 0 25 0"/>                <materialDesign:PackIcon Kind="MapMarker" VerticalAlignment="Center" Margin="2"/>                <Button HorizontalAlignment="Right" Style="{StaticResource MaterialDesignFlatButton}">                    <materialDesign:PackIcon Kind="Search"/>                </Button>            </Grid>            <ListView>                <ListViewItem>                    <Border BorderBrush="LightGray" BorderThickness="0 0 0 1" Width="260">                        <Grid>                            <StackPanel Height="50">                                <TextBlock Text="雞腿"/>                                <StackPanel Orientation="Horizontal">                                    <TextBlock Text="4.5" Foreground="#DDFF6F0B" Margin="1" FontSize="10"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="StarHalf" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                </StackPanel>                                <TextBlock Text="Open until 6:00PM" Opacity="0.7"/>                            </StackPanel>                            <Image HorizontalAlignment="Right" Margin="0 0 50 0" Width="50" Height="50" Source="https://img.dotnet9.com/logo.png"/>                        </Grid>                    </Border>                </ListViewItem>                <ListViewItem>                    <Border BorderBrush="LightGray" BorderThickness="0 0 0 1" Width="260">                        <Grid>                            <StackPanel Height="50">                                <TextBlock Text="La Casita Grill"/>                                <StackPanel Orientation="Horizontal">                                    <TextBlock Text="4.5" Foreground="#DDFF6F0B" Margin="1" FontSize="10"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="StarHalf" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                </StackPanel>                                <TextBlock Text="Open until 6:00PM" Opacity="0.7"/>                            </StackPanel>                            <Image HorizontalAlignment="Right" Margin="0 0 50 0" Width="50" Height="50" Source="https://img.dotnet9.com/logo.png"/>                        </Grid>                    </Border>                </ListViewItem>                <ListViewItem>                    <Border BorderBrush="LightGray" BorderThickness="0 0 0 1" Width="260">                        <Grid>                            <StackPanel Height="50">                                <TextBlock Text="La Casita Grill"/>                                <StackPanel Orientation="Horizontal">                                    <TextBlock Text="4.5" Foreground="#DDFF6F0B" Margin="1" FontSize="10"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="StarHalf" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                </StackPanel>                                <TextBlock Text="Open until 6:00PM" Opacity="0.7"/>                            </StackPanel>                            <Image HorizontalAlignment="Right" Margin="0 0 50 0" Width="50" Height="50" Source="https://img.dotnet9.com/logo.png"/>                        </Grid>                    </Border>                </ListViewItem>                <ListViewItem>                    <Border BorderBrush="LightGray" BorderThickness="0 0 0 1" Width="260">                        <Grid>                            <StackPanel Height="50">                                <TextBlock Text="La Casita Grill"/>                                <StackPanel Orientation="Horizontal">                                    <TextBlock Text="4.5" Foreground="#DDFF6F0B" Margin="1" FontSize="10"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="Star" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                    <materialDesign:PackIcon Kind="StarHalf" Foreground="#DDFF6F0B" Margin="1" VerticalAlignment="Center" Width="12" Height="12"/>                                </StackPanel>                                <TextBlock Text="Open until 6:00PM" Opacity="0.7"/>                            </StackPanel>                            <Image HorizontalAlignment="Right" Margin="0 0 50 0" Width="50" Height="50" Source="https://img.dotnet9.com/logo.png"/>                        </Grid>                    </Border>                </ListViewItem>            </ListView>        </StackPanel>        <Button Grid.Column="1" HorizontalAlignment="Right" Style="{StaticResource MaterialDesignFlatButton}">            <materialDesign:PackIcon Kind="Close"/>        </Button>        <m:Map Mode="Road" Grid.Column="1" Grid.Row="1" ZoomLevel="16" Center="-23.1870304,-50.6606103">            <Canvas                m:MapLayer.Position="-23.1870304,-50.6606103"                m:MapLayer.PositionOrigin="BottomCenter" Width="30" Height="30">                <materialDesign:PackIcon Kind="MapMarker" Width="30" Height="30" Foreground="#FF3C3C3C"/>            </Canvas>        </m:Map>    </Grid></Window>

          4.本文參考

          Design com WPF 大神的學習視頻:Bing Maps
          開源控件庫:MaterialDesignInXamlToolkit
          本站對MD開源控件庫的介紹:控件介紹

          5.代碼下載

          文中代碼已經全部給出。


          除非注明,文章均由 Dotnet9 整理發布,歡迎轉載。

          轉載請注明本文地址:https://dotnet9.com/6814.html

          推薦閱讀:蘋果x與xr
          好运来 www.g3887.com:永顺县| www.nicolasbessol.com:文成县| www.frommybedtoyours.com:靖江市| www.solace-music.com:仙桃市| www.cp1150.com:泸西县| www.bestbridalevent.com:和平县| www.oversuns.com:当阳市| www.mississipp.com:饶河县| www.ykfone.com:保亭| www.leadpcba.com:扶沟县| www.shouhui1.com:呼和浩特市| www.f9896.com:百色市| www.nghethuatbongbay.com:长宁区| www.hashtagluzit.com:高要市| www.foorat.com:贵州省| www.zjdgelectrical.com:库车县| www.yeahw.com:台南县| www.daiyun15.com:循化| www.digishoppy.com:拉孜县| www.hmartusa.net:会同县| www.pmw2bol.com:东源县| www.junchidt.com:恩施市| www.fathernatureonline.com:湘潭县| www.ate77.com:抚顺市| www.freetrafficx.com:福海县| www.lamaihotelpatong.net:武鸣县| www.mydzs.com:慈溪市| www.chocville.com:巨鹿县| www.alongtheway-mdt.com:秦安县| www.degenerat-nerve-angel.com:宝兴县| www.jk852.com:敦化市| www.zamanbook.com:县级市| www.emploi-quebec-trousse.com:威海市| www.aetosz.com:康马县| www.krankgolfasia.com:上虞市| www.vip666b.com:通化市| www.aliciacreative.com:宜黄县| www.cec-ci.org:营口市| www.yurindex.com:阿拉善左旗| www.qywdj.com:泉州市| www.greenymora.com:武穴市| www.yupaixieye.com:涟源市| www.zetgames.com:济阳县| www.truboot.com:常州市| www.arnatour.com:托克逊县| www.aec-avocats.com:贞丰县| www.vivaviralvideo.com:宣汉县| www.ssulawschool.com:沛县| www.ps3usbjailbreak.com:特克斯县| www.wentiangouwu.com:贵阳市| www.zn577.com:旌德县| www.bbtwl.com:上蔡县| www.dementiaonourminds.com:和平区| www.pyweitong.com:日照市| www.flooringhelper.com:新河县| www.ifixart.com:高阳县| www.178host.com:木里| www.barbaralagatta.com:静安区| www.anhaohk.com:民县| www.jp733.com:龙游县| www.shoottheliving.com:南乐县| www.andyhennegan.com:宜城市| www.qlookups.com:晋江市| www.qhzxz.com:土默特左旗| www.70088z.com:朝阳市| www.rq6.net:台南县| www.tiehimup.com:新邵县| www.jingyi111.com:乐安县| www.woyoracing.com:莆田市| www.apachasdesign.com:平罗县| www.yulinbang.com:晋江市| www.q420gb.com:邯郸县| www.ukmagic.net:潜江市| www.qdsunpu.com:万源市| www.foldagamechanger.com:厦门市| www.fifth-wheels.com:九龙县| www.zhiyitwp.com:西城区| www.chasyostsculpture.com:大余县| www.blogucn.com:定南县| www.kylegreerrocks.com:三台县| www.im-cosmetics.com:萨嘎县| www.thehopedesign.com:和硕县| www.zttrain.com:嘉鱼县| www.antonkropotkinsky.com:大足县|