2016-08-11 1 views
0

J'utilisé Google autocomplete dans mon projet, il fonctionne très bien au niveau local, mais ne fonctionne pas sur le serveur, Voici mon codelieu google angulaire automatique complet ne fonctionne pas

app.js

angular.module('MaterialApp', [ 
'ui.router', 'ngAnimate', 'ngMaterial', 
'ngSanitize', 'ui.sortable', 'base64', 
'angular-md5', 'blockUI', 'oc.lazyLoad', 
'ngMdIcons', 'md.data.table', 'highcharts-ng', 
'google.places', 'ui.calendar', 'ui.date', 
'easypiechart', 'ngFileUpload', 'ngCookies', 
"isoCurrency", "ngBootstrap", "datatables", "authService", "companyService" // "templatescache"]) 

forme .html

<div class="form-group group-pro"> 
        <div class="group-row col-sm-10 col-sm-push-1"> 
         <input class="form-control control-set" ng-model="campaign.location_data" name="location_data" type="text" g-places-autocomplete id="location_data" placeholder="Enter the location you want to target" force-selection="true" autocomplete="on" required=""/> 
         <div ng-show="createCampaignForm.$submitted || createCampaignForm.location_data.$touched" ng-model="createCampaignForm.location_data"> 
          <span ng-show="createCampaignForm.location_data.$error.required" class="text-danger">Please enter location data.</span> 
         </div> 
        </div> 
       </div> 

mes controller.js

$scope.$on('g-places-autocomplete:select', function (event, place) { 
      console.log(event); 
      console.log(place); 
      var componentForm = { 
       locality: 'city', //city 
       administrative_area_level_1: 'region', //state 
       country: 'country' //country 
      }, place_selection_val = []; 
      for (var cFKey in componentForm) { 
       $scope.campaign[componentForm[cFKey]] = null; 
      } 
      for (var i = 0; i < place.address_components.length; i++) { 
       var addressType = place.address_components[i].types[0]; 
       if (componentForm[addressType]) { 
        var val = place.address_components[i].short_name; 
        place_selection_val.push(val); 
        $scope.campaign[componentForm[addressType]] = val; 
       } 
      } 
      $scope.campaign.location_data = place_selection_val.join(', ').replace(/^\s+|\s+$/g, ''); 
     }); 

s'il vous plaît aidez-moi, pourquoi cela ne fonctionne pas sur le serveur.

Répondre

0

Si vous utilisez les touches API assurez-vous d'activer l'API Google Places service Web à l'adresse console.developers.google.com

Avez-vous des erreurs que vous pouvez afficher dans la console des développeurs?

Je suppose que vous incluez

<script src="https://maps.googleapis.com/maps/api/js?libraries=places"></script> 

De plus, je voudrais vérifier le chemin du fichier de votre fichier script une fois qu'il est publié sur le serveur

+0

Merci Douglas, le service Web de l'API Google Places est déjà activé, Dans mon projet, je construis le projet en utilisant le nœud js et en dist dist.n'a pas trouvé. Les liens api directs ne fonctionnent pas. pourquoi cela arrive? S'il vous plaît me guider.Puis-je télécharger cette bibliothèque et donner statique chemin. – Kirit

3
angular.module('MyTouchModule', ['ui.router', 'ngMaterial', 'ngMessages']) 

.config(function($mdGestureProvider) { 
    $mdGestureProvider.skipClickHijack(); 
}) 

Salut Cela m'a beaucoup aidé. Googled assez long pour cela. Le problème était avec le conflit entre le matériel angulaire et le traitement des événements de saisie semi-automatique (auditeurs). Cela devrait aider.