function detectPlace(el) {accountMap.geoObjects.remove(myCollectionAcc);if (clickIndex > 0) {accountMap.geoObjects.remove(clickedService);}if (detectIndex > 0) {accountMap.geoObjects.remove(myPlacemarkDetect);accountMap.geoObjects.remove(point);}geolocationAcc = ymaps.geolocation,serviceAcc = new GeolocationService(),myLocationAcc = serviceAcc.getLocation({// Режим получения наиболее точных данных.enableHighAccuracy: true,// Максимальное время ожидания ответа (в миллисекундах).timeout: 10000,// Максимальное время жизни полученных данных (в миллисекундах).maximumAge: 1000});myLocationAcc.then(function (loc) {myCoordsAcc = [loc.latitude, loc.longitude],myPlacemarkDetect = new ymaps.Placemark(myCoordsAcc, {balloonContentBody: "Ваше местоположение"}, {preset: 'twirl#redIcon'});accountMap.setCenter(myCoordsAcc);accountMap.geoObjects.add(myPlacemarkDetect);defaultPoint = el.parent().parent().parent().next();var centerCoord = [Number(defaultPoint.attr('data-lat')), Number(defaultPoint.attr('data-lng'))];point = new ymaps.Placemark(centerCoord, {balloonContentBody: 'Ваша услуга' + '</br>' + defaultPoint.attr('data-kat') + '</br>' + defaultPoint.attr('data-podkat')}, {});detectIndex++;accountMap.setBounds([centerCoord, myCoordsAcc]);accountMap.geoObjects.add(point);});}
Есть функция которая устанавливает на карте 2 метки: 1 - местоположение через Geolocation API, 2 - метка по определенным координатам. Нужно обязательно, чтобы метки находиись в областе видимости, я это реализовал способом выше, но тут возникает нюанс если расстояние между метками очень маленькое, карта выдает ошибку о том, что заданной области не существует, расстояние может быть как и совсем маленькое, так и очень большое. Возможно я использую не совсем верный подход, буду рад слышать другие варианты реализации.
PS: Пробывал вариант так же вариант accountMap.setBounds(acco