Невозможно получить местоположение пользователя в метеоре - PullRequest
0 голосов
/ 13 октября 2018

Я разработал метеорное приложение, в котором при регистрации я выбираю местоположение пользователя на стороне клиента, для этого я добавил пакеты, перечисленные ниже:

meteor add mdg:geolocation    
meteor add jeremy:geocomplete    
meteor aldeed:geocoder    
meteor add jaymc:google-reverse-geocode

Код, написанный на стороне клиента:следующим образом:

  if (Meteor.isClient) { 

  Meteor.startup(() => {
  GoogleMaps.load({
   v: '3.26',
   key: '',                                   
  libraries: 'geometry,places'
  });
 console.log("is GoogleMaps.loaded",GooglMaps.loaded());
 });

   Template.Registration.onRendered(function () {
      Tracker.autorun(() => {
        if (GoogleMaps.loaded()) {

           $('#txt_address').geocomplete({country: "AU", type: 
           ['()']});

            }      
          });
       var date = new Date();
      $('#div_dob').datetimepicker({ 
        format: 'DD/MM/YYYY',
        maxDate : date,
        ignoreReadonly: true

       });
      date=null;
     });

    Template.Registration.helpers({
      location:function(){
       $('input[name="txt_address"]').val(Session.get('location'));
     }
    });

     Template.Registration.events({
      'click #btn_findlocation':function(event){
         alert('Find Location')
        event.preventDefault();
        function success(position) {
        var crd = position.coords;
        console.log(`Latitude0 : ${crd.latitude}`);
        console.log(`Longitude0: ${crd.longitude}`);
        var lat = crd.latitude;
        var long = crd.longitude;
        reverseGeocode.getLocation(lat, long, function(location)
        {           
   console.log("Address",JSON.stringify(reverseGeocode.getAddrStr()));
         Session.set('location', reverseGeocode.getAddrStr());
          });

          };// end of function success(position)

        function error(err) {
           console.warn('ERROR(' + err.code + '): ' + err.message); 
        };//end of function error(err) 

     // geolocation options
        var options = {
         enableHighAccuracy: true,
         maximumAge: 0
          };// end of  var options

       navigator.geolocation.getCurrentPosition(success, error, 
         options);

        },

      })

    }

Но я получаю ложное значение для функции GoogleMaps.loaded () и следующее ниже сообщение об ошибке, когда я нажимаю кнопку для извлечения местоположения.

МожетНе удается прочитать отформатированный адрес неопределенного.

enter image description here

Результаты противоречивы, так как иногда мне не удавалось получить местоположение, а иногда нет.

Пожалуйста, дайте какие-либо предложения ...

...