Xamarin Удалить маркер в google maps

515
08 января 2017, 16:01

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

public void MyPositions(double Lati, double Longi) 
{ 
var Mark = GMap.AddMarker(new MarkerOptions().SetPosition(new LatLng(Convert.ToDouble(Lati), Convert.ToDouble(Longi)))); 
}

проблема в том, что когда коорд меняются и добавляется новый маркер, то старый не удаляется. В Marker есть св-во Remove, которое удалит сам себя на карте, но как им правильно воспользоваться ? Пытался как-то так :

Marker Mark;
public void MyPositions(double Lati, double Longi) 
{ 
 if (Mark != null) 
Mark.Remove();
Mark = GMap.AddMarker(new MarkerOptions().SetPosition(new LatLng(Convert.ToDouble(Lati), Convert.ToDouble(Longi)))); 
}

но, если переменную объявить глобально, то она покажет только 1 маркер и новые не добавляются.Как правильно удалить "старый" маркер и поставить новый ? мб как-то переместить ? Я искренне надеюсь, что смог донести до вас проблему.

Answer 1

Просто храните все нужные вам маркеры в массиве/списке или чем вам удобнее и обновляйте им координаты при их изменении через свойство Position маркера.

А код из вашего комментария я бы переписал так:

if (marker == null) marker = GMap.AddMarker(new MarkerOptions());
marker.Position = new LatLng(Convert.ToDouble(Lati), Convert.ToDouble(Longi));
READ ALSO
Как скопировать (спарсить) DOM страницы? [требует правки]

Как скопировать (спарсить) DOM страницы? [требует правки]

ИСПОЛЬЗУЕТСЯ: WebDriver, С#, Google chrome СЦЕНАРИЙ - парсим DOM - проверяем содержит ли DOM, искомый домен

343
Десериализация ObservableCollection

Десериализация ObservableCollection

Есть такой класс с коллекцией:

358
Обновление привязки интерфейса

Обновление привязки интерфейса

В программе есть кнопка по нажатию которой пользователь может сбросить значения всех настроек к значению по умолчаниюНастройки хранятся...

320
Как написать свою кнопку

Как написать свою кнопку

Подскажите как нарисовать точную кнопку взял из сайта: Ссылка на кнопку

352