Есть код, он выводит заголовки меток в генерируемое меню
пример из песочницы: https://tech.yandex.ru/maps/jsbox/2.1/ymapsml_menu
Мой код, с определением геолокации по ip
ymaps.ready(init); function init () { // Создание экземпляра карты var geolocation = ymaps.geolocation, myMap = new ymaps.Map('map', { center: [55.76, 37.64], zoom: 12 }, { searchControlProvider: 'yandex#search' }); geolocation.get({ provider: 'yandex', mapStateAutoApply: true }).then(function (result) { // Красным цветом пометим положение, вычисленное через ip. result.geoObjects.options.set('preset', 'islands#redCircleIcon'); result.geoObjects.get(0).properties.set({ balloonContentBody: 'Мое местоположение' }); myMap.geoObjects.add(result.geoObjects); }); ymaps.geoXml.load('/map1.xml?v=' + (+new Date())) .then(function (res) { res.geoObjects.each(function (item) { addMenuItem(item, myMap); }); }, // Вызывается в случае неудачной загрузки YMapsML-файла. function (error) { alert("При загрузке YMapsML-файла произошла ошибка: " + error); }); function addMenuItem(group, map) { // Показать/скрыть группу геообъектов на карте. $("<a class=\"title\" href=\"#\">" + group.properties.get('name') + "</a>") .bind("click", function () { var link = $(this); // Если пункт меню "неактивный", то добавляем группу на карту, // иначе - удаляем с карты. if (link.hasClass("active")) { map.geoObjects.remove(group); } else { map.geoObjects.add(group); } // Меняем "активность" пункта меню. link.toggleClass("active"); return false; }) // Добавление нового пункта меню в список. .appendTo( $("<li></li>").appendTo($("#map_menu")) ); } }
Задача: сделать автоматическую сортировку вывода меток в зависимости от их геолокации. Например, если пользователь из Питера, вывести в эту менюшку* именно те метки, которые расположены в Питере.
Понимаю, что нужно собрать "Питерские" метки в коллекцию, и из нее уже выводить. Но как сделать этот вывод автоматическим, исходя из геолокации?