angular-google-maps запускает функцию ОДИН РАЗ после начальной загрузки карты

с помощьюугловые-Google-карты включить карту Google в приложение

Мне нужна команда, которая будет запускать функцию ОДИН РАЗ после завершения начальной загрузки карты
- но только при начальной загрузке,не после каждой манипуляции с картой

Я не могу использоватьidle или жеtilesloaded так как они запускаются после каждого движения ...

Функция, которую я хочу запустить, должна получить границы карты для извлечения данных с сервера при начальной загрузке страницы - я хочу, чтобы это происходило ОДИН РАЗ при начальной загрузке, а затем выполнялось вручную, используя обновлениеmap-control
- если я используюidle или жеtilesloaded чтобы запустить это, он будет тянуть данные серверакаждый время, когда пользователь перемещает карту.

Кто-нибудь знает, как запустить однократную команду, чтобы получить детали карты (границы и т. Д.) После начальной загрузки карты?

Я пытался положитьmaps.getBounds() в функции второго обещания, но она не работает.

Заметка,У меня тут скрипка работает - Я просто не могу больше обещать после$scope.map элементы управления / опции и т. д. определены, потому что они не возвращают обещание:

Пример кода в документации не показывает, как связать обещаниепосле $scope.map определено.

HTML

<div class="angular-google-map-container" ng-controller="MainCtrl">
    <ui-gmap-google-map center="map.center" zoom="map.zoom" draggable="true" options="map.options" events="map.events" control="googlemap">
    </ui-gmap-google-map>
</div>

контроллер

myApp.controller('MainCtrl', function($scope, uiGmapGoogleMapApi) {
    uiGmapGoogleMapApi
    .then(function(maps){
        $scope.map = {
            center: {
                latitude: 37.7749295, 
                longitude: -122.4194155 
            },
            zoom: 12
            events: {
                tilesloaded: function (maps, eventName, args) {
                    myServiceFuntion(maps)    // this work fine but fires every time
                },
                dragend: function (maps, eventName, args) {
                    myServiceFuntion(maps)    // this work fine but fires every time
                },
                zoom_changed: function (maps, eventName, args) {
                    myServiceFuntion(maps)    // this work fine but fires every time
                }
            }
        }

        $scope.bounds = maps.getBounds()    // this gives me 'getBounds() not a function'
        myServiceFuntion(maps);    // this gives an error... ?
        return maps;            //no promise returned here so no chance to delay the function below
    })
    .then(function(maps){
        //is this where i need to put my function ?  doesn't delay on map load since no promise returned...
    });
});

Очевидно, чтоmaps объект, возвращаемыйuiGmapGoogleMapApi обещание полностью отличается отmaps объект, возвращаемый такими событиями, какtilesloaded и т.д ... довольно запутанно.

Также,FAQ только указывает, как использоватьtilesloaded получить экземпляр карты - который не работает по причинам, уже описанным.

Ответы на вопрос(2)

Ваш ответ на вопрос