Линия маршрута Bing Maps не может быть удалена с карты - PullRequest
1 голос
/ 14 мая 2011

У меня есть следующий xaml для привязки экземпляра класса LocationCollection к экземпляру класса MapPolyline.

 <Microsoft_Phone_Controls_Maps:MapPolyline Stroke="Green"
                                            Locations="{Binding Points}"
                                            StrokeThickness="6"
                                            Opacity="0.7" />

Свойство Points определяется во ViewModel как:

public LocationCollection Points
{
    get
    {
        return this.points;
    }
    set
    {
        this.SetPropertyAndNotify(ref this.points, value, "Points");
    }
}

Теперь, когда я устанавливаю свойство Points, строка маршрута отображается, как и ожидалось, но когда я хочу удалить строку со следующим кодом, строка все равно отображается - даже если я создал новый пустой класс LocationCollection и сообщите, что недвижимость изменилась.

Кто-нибудь понял, почему линия маршрута не удалена?

this.Points = new LocationCollection();

Ответы [ 2 ]

0 голосов
/ 23 декабря 2016

создать слой маршрута с помощью этого

MapLayer route_layer = new MapLayer();

создать линию с помощью MapPolyline, например

MapPolyline routeLine = new MapPolyline()
        {
            Locations = locs,
            Stroke = new SolidColorBrush(c),
            StrokeThickness = 5
        };

, добавить к слою маршрута и затем отобразить с помощью этого

route_layer.Children.Add(routeLine);
MyMap.Children.Add(route_layer);

удалите из вашей карты с этим.

MyMap.Children.Remove(route_layer);
0 голосов
/ 15 мая 2011

Ответ - установить коллекцию на новый экземпляр или полностью очистить текущую коллекцию - неправильно, мне нужно было удалить из коллекции все элементы, кроме первого.*

...