Ionic nativ geocoder „Nu se poate găsi o locație.“

voturi
0

Sunt folosind geocoder nativ în aplicația mea Ionic. documentat aici

documentație ionic

github Repo

Aceasta este metoda în furnizorul meu -

//This calls the Native geocoder and returns the geocoordinates. 
  getGeoCode(address: string): Promise<any> {
    console.log('The address key is - ' + address);
    return new Promise((resolve, reject) => {
      this.nativeGeocoder.forwardGeocode(address)
        .then((nativegeocoordinates: NativeGeocoderForwardResult) => {
          console.log('The coordinates are - ' + JSON.stringify(nativegeocoordinates));
          let addressCoordinates: DeliveryAddressCoordinates = nativegeocoordinates;
          resolve(addressCoordinates);
        })
        .catch((error: any) => {
          console.log(JSON.stringify(error));
          reject(error);
        });
    })
  }

Metoda acceptă un șir de caractere adresa ca intrare. Așa că am obține adresa de la Google API locuri, și treci descrierea aici.

Acum, pentru anumite adrese, doar nu pare să găsească coordonatele, și returnează un mesaj de „Nu se poate găsi o locație“. De exemplu , Bhadra Brookefields Apartament B Block, Kundanahalli Lake Road, Kundalahalli, Brookefield, Bengaluru, Karnataka, India este o adresă validă și returnează coordonatele, în timp ce Times Square 42 Street Station, New York, NY, Statele Unite ale Americii , nu găsește un meci și returnează un mesaj care spune - „nu se poate găsi o locație“.

Pentru mai multe informații pe care „nu se poate găsi o locație“ pare a fi originar din codul Cordova plugin - ul aici , pe linia # 182. , În cazul în care acesta este corelarea clasa Android.

Este o problemă cunoscută? Sau există ceva ce am făcut greșit?

Întrebat 16/03/2018 la 15:10
sursa de către utilizator
În alte limbi...                            


2 răspunsuri

voturi
0

Cel puțin o altă persoană crede plugin-ul pare a fi un pic de un hit / dor - un comentariu la acest articol de mai jos

Ionic 2 - geolocalizare și GeocodingIonic 2 - geolocalizare și geocodificării

Comentariul este de la un dl Purple Edge, și nu pot lega comentariu în sine, pentru că este un disq, și nu este permis de stivă.

Deci, am recurs la ceea ce poate fi interpretat atât ca o soluție sau ca o soluție. În loc de a folosi plugin-ul, eu sunt pur și simplu, folosind API-ul, făcând astfel o cerere HTTP pentru a obține informații.

Metoda pentru a obține informațiile (într-un furnizor):

 getGeoCodefromGoogleAPI(address: string): Observable<any> {
    return this._http.get('https://maps.googleapis.com/maps/api/geocode/json?address=' + address)
      .map(res => res.json());
  }

Metoda de apel ->

this._deliveryAddressService.getGeoCodefromGoogleAPI(event.description).subscribe(addressData => {

        let latitude: string = addressData.results[0].geometry.location.lat;
        let longitude: string = addressData.results[0].geometry.location.lng;
        }

Desigur, trebuie să existe procesul de înregistrare ca urmare a cheii.

Publicat 16/03/2018 la 20:04
sursa de către utilizator

voturi
0

Nu este o problemă a pluginului. Trebuie doar să adăugați mai mult de un astfel încât să puteți cere permisiunea de a activa High Accuracyîn telefon.

https://ionicframework.com/docs/native/location-accuracy/

Publicat 09/08/2018 la 06:46
sursa de către utilizator

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more