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.
  • Вопрос задан
  • 1136 просмотров
Пригласить эксперта
Ответы на вопрос 1
freeExec
@freeExec
Участник OpenStreetMap
Вы хотя бы пример из документации смотрели? Найдите пять отличий. Функция не мгновенная, нужен callback.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы