Задать вопрос

Как привязать кнопку определения местоположения к своему html элементу (api яндекс карты)?

Доброго времени суток!
Собственно на яндекс карте есть кнопка определения местоположения. Я хочу привязать кнопку к своему html элементу и по клику определять местоположение.

Подскажите как сделать? Есть метод автоматического определения при загрузки карты, но не оч подходит. Нужно по клику.

ymaps.ready(init);

function init() {
    var geolocation = ymaps.geolocation,
        myMap = new ymaps.Map('map', {
            center: [55.77036255174332, 38.20846108398434],
            zoom: 9,
            controls: ['default']
        }, 
        {
            searchControlProvider: 'yandex#search'
        });

    geolocation.get({
        provider: 'browser',
        mapStateAutoApply: true
    }).then(function (result) {
        // Синим цветом пометим положение, полученное через браузер.
        // Если браузер не поддерживает эту функциональность, метка не будет добавлена на карту.
        result.geoObjects.options.set('preset', 'islands#blueCircleIcon');
        myMap.geoObjects.add(result.geoObjects);
    });
}
  • Вопрос задан
  • 410 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@pavel__sidorov Автор вопроса
<div class="map_btn" id="geo">Определить местоположение</div>

var a = document.getElementById('geo');

a.onclick = function() {
		geolocation.get({
		mapStateAutoApply: true
		})
		.then(
		function(result) {
		// Получение местоположения пользователя.
		var userAddress = result.geoObjects.get(0).properties.get('text');
		var userCoodinates = result.geoObjects.get(0).geometry.getCoordinates();
		result.geoObjects.get(0).properties.set({
		balloonContentBody: 'Адрес: ' + userAddress +
		'<br/>Координаты:' + userCoodinates
		});
		myMap.geoObjects.add(result.geoObjects)
		},
		function(err) {
		console.log('Ошибка: ' + err)
		}
		);
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы