2015-12-21 3 views
0

В настоящее время, когда я загружаю свою программу, Bing Maps загружает только первую кнопку на карту, для моего примера у меня есть 4 кнопки, которые должны отображаться при загрузке приложения, какой дополнительный код мне нужно добавьте, чтобы завершить все четыре.Отображение нескольких кнопок на Bing-картах WPF

Кроме того у меня есть несколько вопросов, если вы не возражаете, отвечая

мне нужно использовать цикл для каждого местоположения делать?

Должен ли я дать каждому индивидуальное имя? (Pin)

Могу ли я связать базу данных доступа вместо копирования мест?

Можно ли скрыть или удалить кнопки при нажатии кнопки?

Dim Pin = New Microsoft.Maps.MapControl.WPF.Pushpin() 
    UserControl11.BingMap.Children.Add(Pin) 

    Pin.Location = (New Location(55.852663, -2.3889276)) 
    Pin.Location = (New Location(55.956023, -3.1607265)) 
    Pin.Location = (New Location(54.840279, -3.2886766)) 
    Pin.Location = (New Location(52.819511, -1.8851815)) 
+0

Вы всего лишь в четыре раза устанавливаете расположение одного Pushpin. Создайте четыре экземпляра Pushpins вместо одного и добавьте их на карту. – Clemens

+0

Должен ли я просто скопировать две верхние строки кода с разными именами 4 раза или есть метод коротких рук? – Gaudreau95

+0

Попробуйте что-нибудь. Это способ научиться программированию. – Clemens

ответ

1

Если только эти 4 булавки вы хотите создать, то вы можете использовать следующий код:

Dim Pin = New Microsoft.Maps.MapControl.WPF.Pushpin() 
Pin.Location = (New Location(55.852663, -2.3889276)) 
UserControl11.BingMap.Children.Add(Pin) 

Dim Pin2 = New Microsoft.Maps.MapControl.WPF.Pushpin() 
Pin2.Location = (New Location(55.956023, -3.1607265)) 
UserControl11.BingMap.Children.Add(Pin2) 

Dim Pin3 = New Microsoft.Maps.MapControl.WPF.Pushpin() 
Pin3.Location = (New Location(54.840279, -3.2886766)) 
UserControl11.BingMap.Children.Add(Pin3) 

Dim Pin4 = New Microsoft.Maps.MapControl.WPF.Pushpin() 
Pin4.Location = (New Location(52.819511, -1.8851815)) 
UserControl11.BingMap.Children.Add(Pin4) 

В качестве альтернативы, если данные о местоположении изменения или у вас есть массив/список информацию о местоположении, которую вы можете пропустить, создайте кнопки и добавьте их на карту следующим образом:

Dim myLocations(4) As Location 
myLocations(0) = New Location(55.852663, -2.3889276) 
myLocations(1) = New Location(55.956023, -3.1607265) 
myLocations(2) = New Location(54.840279, -3.2886766) 
myLocations(3) = New Location(52.819511, -1.8851815) 

For index = 0 to myLocations.Length - 1 
    Dim Pin = New Microsoft.Maps.MapControl.WPF.Pushpin() 
    Pin.Location = myLocations(index) 
    UserControl11.BingMap.Children.Add(Pin) 
Next 
+0

Это прекрасно работает с данными, которые я использую, но после добавления. Кажется, у меня есть одна блуждающая кнопка в центре моей карты, у которой нет фиксированной точки? – Gaudreau95

+0

Проверьте остальную часть кода. Вероятно, вы куда-то добавляете другую кнопку. Возможно, в XAML? – rbrundritt

+0

Единственное другое место, в которое я добавил одну кнопку, был в коде XAML, который я удалил, чтобы увидеть, продолжает ли проблема, что, к сожалению, это так. Это происходит только при добавлении фрагмента, над которым я очень благодарен, кстати. – Gaudreau95

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