2015-09-16 1 views
0

У меня есть небольшое приложение winform, которое использует пользовательский элемент управления WPF для отображения карты бинга на моей winform. Я могу добавить одну булавку, и установить местоположение масштабирования и т.д. ,,Добавление нескольких pushpins в bing-карте с использованием элемента управления WPF в приложении winform

Это мой 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); 
    } 
} 

}

Я хочу добавить несколько кнопок на карту, в какой-то итерации, думая, что класс с долготой и широтой или sctruct, может быть, массив.

Другое желание состоит в том, что первая кнопка в списке имеет другой внешний вид, а другие - это другой вопрос.

Надеюсь, что какое-то тело может дать мне небольшой проводник или привести меня в правильном направлении. Я работаю в visual Studio 2012

ответ

0

Первая цифра, где вы хотите сохранить данные о местоположении. Вы можете сохранить это в локальном файле, в базе данных (на сервере или в локальной сети), используя службы пространственных данных Bing или другую систему хранения. После того, как вы сохранили данные, вы можете загрузить их в свое приложение. Если вы используете локальные файлы, вы можете захотеть сохранить данные, используя стандартный формат пространственных файлов, например GeoJSON, или KML. Если вы это сделаете, вам понадобится инструмент для анализа данных и загрузки его поверх карты WPF. Если вы храните данные в базе данных, вам нужно будет получить данные в своем приложении. Если база данных локальная, то это довольно просто. Если он находится на сервере, вам необходимо создать веб-службу. В любом случае вы, скорее всего, обнаружите, что Entity Framework действительно упрощает работу. Если вы используете Bing Spatial Data Services, вам просто нужно проанализировать ответ REST, который довольно легко сделать. Как только все это будет сделано, вы должны получить массив или список объектов, в которых есть какая-то информация о местоположении. Просто пропустите эти объекты и создайте кнопки и добавьте их на карту или еще лучше MapLayer.

Вот некоторые полезные ресурсы:

http://mapstoolbox.codeplex.com/ - Предоставляет инструменты легко загружать пространственные файлы в различную Bing Maps управления, в том числе WPF.

Вот информация о создании пространственной WebService поверх базы данных:

https://blogs.bing.com/maps/2013/07/31/how-to-create-a-spatial-web-service-that-connects-a-database-to-bing-maps-using-ef5/

https://blogs.bing.com/maps/2013/08/05/advance-spatial-queries-using-entity-framework-5/

Здесь есть документация по обслуживанию Bing пространственных данных:

https://msdn.microsoft.com/en-us/library/ff701734.aspx

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