整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          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

          oogle Lens 讓使用者可以簡單把手機的相機照向物件,就會自動到谷歌搜索到相關的信息,這個點子似乎也引起了微軟的興趣了。微軟最新為他們的 Bing 搜索引擎帶來相似的能力,在相關聯的產品上都可以利用相機(或相片)來進行圖像搜索,在帶來相關結果之外,微軟還加入了價錢和商店位置等的購物信息呢。

          目前這物件辨識搜索的功能,已經加入到美國區的 Bing app 讓 iOS 和 Android 設備使用,Android 版的 Microsoft Launcher 當然也沒有錯過。iOS 版本的 Edge 瀏覽器和網頁版 Bing 則將會在之后再補上。雖然使用上似乎比不上實時辨識的方式,不過這也算是向 Google 示威的動作吧。

          原文來自:https://www.linuxprobe.com/bing-distinguish.html


          主站蜘蛛池模板: 亚洲AV无码一区二区三区系列| 国产免费一区二区三区免费视频 | 亚洲午夜在线一区| 一区在线免费观看| 日本福利一区二区| 亚洲AV无码一区二区三区久久精品 | 国产精品伦一区二区三级视频| 国产成人一区二区动漫精品| 97人妻无码一区二区精品免费 | 日韩人妻无码一区二区三区久久99 | 久久se精品一区精品二区国产| 在线视频亚洲一区| 精品国产一区二区三区av片| 日韩中文字幕精品免费一区| 无码精品人妻一区二区三区中| 国产不卡视频一区二区三区| 日韩一区二区三区视频| 国产成人av一区二区三区不卡| 精品少妇人妻AV一区二区| 无码人妻aⅴ一区二区三区| 狠狠色综合一区二区| 无码人妻精品一区二区蜜桃网站| 成人免费观看一区二区| 国产一区二区好的精华液 | a级午夜毛片免费一区二区| 亚洲人成网站18禁止一区| 精品国产亚洲一区二区在线观看| 日韩精品一区二区午夜成人版 | 国产一区二区三区电影| 国产成人一区二区三区高清| 日本一区二区三区精品视频| 国产高清一区二区三区视频| 无码国产精品一区二区高潮| 国产一区内射最近更新| 无码精品人妻一区| 美女啪啪一区二区三区| 国产成人精品久久一区二区三区| 亚洲精品伦理熟女国产一区二区| 精品国产一区二区三区免费看| 无码少妇一区二区浪潮av| 97久久精品午夜一区二区|