Как правильно отредактировать Google map поиск под Yandex map

подскажите как правильно выставить логическую цепочка, чтобы работало на Yandex map, этот код выводит координаты при нажатие на карту или при поиске адреса в поисковой строке. Сколько не пытался не выходит правильно реализовать.

Вот так выглядит в JS

GmapEngine.prototype.searchBox = function (classSearchBox ,func) {
    var me = this;
    var searchBox = new google.maps.places.SearchBox(classSearchBox[0]);
    google.maps.event.addListener(searchBox, 'places_changed', function() {
        var places = searchBox.getPlaces();
        if (places.length == 0) {
            return;
        }
        var bounds = new google.maps.LatLngBounds();
        for (var i = 0, place ; place = places[i]; i++) {
            if (!place.geometry) {
                console.log("Returned place contains no geometry");
                return;
            }
            if (place.geometry.viewport) {
                bounds.union(place.geometry.viewport);
            } else {
                bounds.extend(place.geometry.location);
            }
            if(i===0){
                func([
                    place.geometry.location.lat(),
                    place.geometry.location.lng(),
                    me.map.getZoom()]
                );
            }
        }
        me.map.fitBounds(bounds);
    });
}

Вот так выглядит в php

 if(bookingCore.map_provider === "gmap"){
                    

engineMap.searchBox($('#customPlaceAddress'),function (dataLatLng) {
           engineMap.clearMarkers();
           engineMap.addMarker(dataLatLng, {
           icon_options: {}
                        });
          $("input[name=map_lat]").attr("value", dataLatLng[0]);
          $("input[name=map_lng]").attr("value", dataLatLng[1]);
                    });
                }
                engineMap.searchBox($('.bravo_searchbox'),function (dataLatLng) {
                    engineMap.clearMarkers();
                    engineMap.addMarker(dataLatLng, {
                        icon_options: {}
                    });
                    $("input[name=map_lat]").attr("value", dataLatLng[0]);
                    $("input[name=map_lng]").attr("value", dataLatLng[1]);
                });

Ответы (1 шт):

Автор решения: YaCor'

Координаты клика всегда есть в событии клика:

myMap.events.add('click', function (e) {
    var coords = e.get('coords');
}

Адрес же в координаты геокодированием получать надо:

ymaps.geocode('Москва', {
    results: 1
}).then(function (res) {
    // Выбираем первый результат геокодирования.
    var firstGeoObject = res.geoObjects.get(0),
    // Координаты геообъекта.
    coords = firstGeoObject.geometry.getCoordinates()
});
→ Ссылка