Вместо маркера загружается второе окно ,,найти,,

73
06 февраля 2022, 08:00

Подскажите где ошибка в коде - строкаvar SearchControl = new ymaps.control.SearchControl({Placemark:true});должна выводить маркер на карту, а выводит второе окно ,,Найти,, Кто может подправте пожалуйста.

<script type="text/javascript">
var myMap, myPlacemark, adr, coords;
var index;
<?
if($_GET['adr'])
echo "\n adr='".urldecode($_GET['adr'])."';";
else
echo "\n adr='Moscow';";
?>

// Как только будет загружен API и готов DOM, выполняем инициализацию
    ymaps.ready(init);
    function init () {
        // Поиск координат центра 
        ymaps.geocode(adr, { results: 1 }).then(function (res) {
            // Выбираем первый результат геокодирования
            var firstGeoObject = res.geoObjects.get(0);
            // Создаём карту.
            // Устанавливаем центр и коэффициент масштабирования.
            window.myMap = new ymaps.Map("YMapsID", {
                center: firstGeoObject.geometry.getCoordinates(),
                zoom: 13
            });

        var SearchControl = new ymaps.control.SearchControl({yesPlacemark:true});   
        //Добавляем элементы управления 
        myMap.controls
            .add(SearchControl)                
        // Кнопка изменения масштаба
        .add('zoomControl')
        // Список типов карты
        .add('typeSelector'); 
        coords=firstGeoObject.geometry.getCoordinates();
        document.getElementById("spot-lat").value = coords[0].toFixed(4);   
        document.getElementById("spot-longi").value = coords[1].toFixed(4); 

        //Отслеживаем событие перемещения метки
        myPlacemark.events.add("dragend", function (e) {            
            coords = this.geometry.getCoordinates();
            savecoordinats();
        }, myPlacemark);

        //Отслеживаем событие выбора результата поиска
        SearchControl.events.add("resultselect", function (e) {
            index=SearchControl.getSelectedIndex();
            coords = SearchControl.getResultsArray()[index].geometry.getCoordinates();
            savecoordinats();
            //control.SearchControl.close();
        });

        }, function (err) {
            // Если геокодирование не удалось,
            // сообщаем об ошибке
            alert(err.message);
        })

 }

function savecoordinats (){ 
    var new_coords = [coords[0].toFixed(4), coords[1].toFixed(4)];  
    myPlacemark.getOverlay().getData().geometry.setCoordinates(new_coords);
    var center = myMap.getCenter();
    var new_center = [center[0].toFixed(4), center[1].toFixed(4)];  
    var new_center_x = [coords[0].toFixed(4)];  
    var new_center_y = [coords[1].toFixed(4)];  
    document.getElementById("spot-lat").value = new_center_x;   
    document.getElementById("spot-longi").value = new_center_y; 
}
function save_address() {
    var x = document.getElementById('spot-lat').value; 
    var y = document.getElementById('spot-longi').value; 
    window.opener.document.getElementById('map_x').value = x; 
    window.opener.document.getElementById('map_y').value = y; 
    self.close ();
}

</script>`
READ ALSO
Как добавить объект в массив объектов в react?

Как добавить объект в массив объектов в react?

Как добавить объект в массив объектов в react?

71
Задачник и решебник по темам JavaScript

Задачник и решебник по темам JavaScript

Не подскажите ресурс/книгу, где было бы много задач (с ответами) по чистому JS ?

64
Как перевести .gif в массив .png в javascript?

Как перевести .gif в массив .png в javascript?

мне нужно простое решение, одной функцией или небольшой однофайловой библиотекой загружаемой в html файле

115
promise.all и Event loop

promise.all и Event loop

Насколько я понял принцип работы Event Loop, при выполнении кода промисы попадают в очередь Microtask queue и затем выполняются поочередно, потому что...

93