Задать вопрос
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg

Как получить координаты пользователя в yandex картах?

Есть код:
ymaps.ready(init);

function init() {
    var myMap = new ymaps.Map(\"map\", {
            center: [".$this->coords."],
            zoom: ".$this->zoom."
        });
    var geolocation = ymaps.geolocation,
        coords = [geolocation.latitude, geolocation.longitude];
        
        //кнопка
    var myButton = new ymaps.control.Button('Проложить маршрут');
myButton.events
    .add('click', function () {
            ymaps.route([
        [".$this->coords."],
        coords,
    ]).then(function (route) {
        myMap.geoObjects.add(route);
        var points = route.getWayPoints(),
            lastPoint = points.getLength() - 1;
        points.options.set('preset', 'twirl#redStretchyIcon');
        points.get(0).properties.set('iconContent', 'Точка отправления');
        points.get(lastPoint).properties.set('iconContent', 'Точка прибытия');

    }, function (error) {
        alert('Возникла ошибка: ' + error.message);
    });
    });
myMap.controls.add(myButton);

}

выдает ошибку Internal Server Error при нажатии на кнопку "проложить маршрут".
Все работает если не определять положение пользователя, а вставить любые координаты. Соответственно туплю именно тут:
var geolocation = ymaps.geolocation,
        coords = [geolocation.latitude, geolocation.longitude];

Что тут не так? Как получить координаты пользователя в переменную coords.
  • Вопрос задан
  • 1148 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Вы хотя бы пример из документации смотрели? Найдите пять отличий. Функция не мгновенная, нужен callback.
Ответ написан
Ваш ответ на вопрос

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

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