[英]Adding multiple pushpins in bing map using WPF control in winform application
我有一個小型的Winform應用程序,該應用程序使用WPF用戶控件在Winform上顯示bing映射。 我可以添加一個圖釘,並設置位置縮放比例等,
這是我的xaml文件:
<UserControl x:Class="MyBingWinForm.MyMapControl"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:m="clr-namespace:Microsoft.Maps.MapControl.WPF;assembly=Microsoft.Maps.MapControl.WPF">
<Grid>
<m:Map Name="Map"/>
</Grid>
我的C#文件如下所示:
namespace MyBingWinForm
{
public partial class MyMapControl
{
public MyMapControl()
{
InitializeComponent();
Map.Center = new Location(55.6760970, 12.5683370);
Pushpin pin = new Pushpin();
pin.Location = new Location(55.6760970, 12.5683370);
Map.ZoomLevel = 12;
// Adds the pushpin to the map.
Map.Children.Add(pin);
// Removes pushpin from the map.
// myMap.Children.Remove(pin);
}
}
}
我想通過某種迭代方式向地圖添加多個圖釘,以為擁有一個具有經度和緯度的類或一個結構(也許是一個數組)。
另一個希望是列表中的第一個圖釘的外觀與其他圖釘不同,但這是另一個問題。
我希望有人能給我一些指導或引導我正確的方法。 我正在Visual Studio 2012中工作
首先,您要在其中存儲位置數據。 您可以將其存儲在本地文件,數據庫中(在服務器上或本地),使用Bing Spatial Data服務或某些其他存儲系統。 一旦將數據存儲在某個位置,就可以將其加載到應用程序中。 如果您使用的是本地文件,則可能要使用標准空間文件格式(如GeoJSON或KML)存儲數據。 如果執行此操作,則需要一個工具來解析數據並將其加載到WPF映射的頂部。 如果您將數據存儲在數據庫中,則需要將數據獲取到您的應用程序。 如果數據庫是本地的,那么這很容易。 如果它在服務器上,則需要創建一個Web服務。 無論采用哪種方法,您都可能會發現Entity Framework確實使事情變得容易。 如果您使用Bing Spatial數據服務,則只需要解析REST響應,這很容易做到。 一旦完成所有這些操作,您最終應該得到一個數組或對象列表,其中包含某種位置信息。 只需遍歷這些對象並創建圖釘,然后將它們添加到地圖或更好的MapLayer中即可。
以下是一些有用的資源:
http://mapstoolbox.codeplex.com/-提供將空間文件輕松加載到各種Bing Maps控件(包括WPF)的工具。
這是有關在數據庫頂部創建空間Web服務的信息:
https://blogs.bing.com/maps/2013/08/05/advance-spatial-queries-using-entity-framework-5/
以下是有關Bing空間數據服務的文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.