@denism300

Почему не меняются координаты метки?

Набросал небольшой скрипт, который по клику по карте должен ставить метку в точку клика.
Однако, метка не меняет своего местоположения, хотя координаты при клике получаю.

ymaps.ready(function() {
    var myMap = new ymaps.Map('YMapsID', {
        center: [55.751574, 37.573856],
        zoom: 9
    }, {
        searchControlProvider: 'yandex#search'
    });
    myGeoObject = new ymaps.GeoObject({
        geometry: {
            type: "Point",
            coordinates: [55.751574, 37.573856]
        },
        properties: {
            balloonContent: 'Привет!'
        }
    }, {
        preset: 'twirl#redStretchyIcon',
        draggable: true
    });
    myMap.geoObjects.add(myGeoObject);
    myMap.events.add('click', function (e) {
        var clk_coords = e.get('coords');
        myGeoObject.geometry.setCoordinates([clk_coords[0] + ', ' + clk_coords[1]]);
        document.getElementById('geomapx').value = clk_coords[0];
        document.getElementById('geomapy').value = clk_coords[1];
    });
    myGeoObject.events.add("dragend", function(e) {
        var coords = e.get('target').geometry.getCoordinates();
        document.getElementById('geomapx').value = coords[0];
        document.getElementById('geomapy').value = coords[1];
    });
});
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Яндекс.Карты
.setCoordinates([clk_coords[0] + ', ' + clk_coords[1]]);

Передаёте в setCoordinates массив, состоящий из одной строки.

А должен быть массив из двух чисел. Который у вас уже есть: .setCoordinates(clk_coords);.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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