Angularjs- Googlemaps仅在第二次点击时更新

时间:2014-11-21 16:53:45

标签: angularjs

我是Angularjs和脚本世界的新手,当我点击Postcode时我使用Angulajs构建了一个应用程序我应该在模态对话框中显示googlemaps。

哪个工作正常,但只有当我点击第二次按钮时,请帮我排序...下面是我的代码

Javascript代码:

// Opening googlemaps in modal window           


              $scope.open = function(postcode) {

                var geocoder = new google.maps.Geocoder();
                   geocoder.geocode({ 'address': postcode }, function (results, status) {
                        if (status == google.maps.GeocoderStatus.OK) {
                            $scope.lat = results[0].geometry.location.lat();
                            $scope.lng = results[0].geometry.location.lng();
                   /*     $scope.lng = lng;
                        $scope.lat = lat;*/
                         } else {
                            alert("Request failed.")
                        }
                    });


                var modalInstance = $modal.open({
                  templateUrl: 'myModalContent.html',
                  controller: ModalInstanceCtrl,
                  /*size: size,*/
                  resolve: {
                    lat: function () {
                      return $scope.lat;
                    },
                    lng: function () {
                      return $scope.lng;
                    }
                  }
                });

/*              modalInstance.result.then(function (selectedItem) {
                }, function () {
                  $log.info('Modal dismissed at: ' + new Date());
                });*/
              };

              var ModalInstanceCtrl = function ($scope, $modalInstance, lat, lng) {

                  $scope.lat = lat;
                  $scope.lng = lng;

                  $scope.render = true;

                  $scope.ok = function () {
                    $modalInstance.close();
                  };

                  $scope.cancel = function () {
                    $modalInstance.dismiss('cancel');
                  };
                };
        };

HTML Code :


 <script type="text/ng-template" id="myModalContent.html">

        <div class="modal-body">
            <map ng-if="$parent.render" center="[{{$parent.lat}}, {{$parent.lng}}]" zoom-control="true" zoom="15"> </map>
        </div>
         <div class="modal-footer">

            <button class="btn btn-warning" ng-click="cancel()">Cancel</button>
        </div>
    </script> 

调试时我已经确定了以下方法    geocoder.geocode({'address':postcode},function(results,status) 我第一次点击时没有返回任何LAT / LONG(仅适用于第二次点击)

请帮我解决这个问题。

由于 拉杰什

0 个答案:

没有答案