Ionisk Native Geocoder "Kan ikke finne et sted."

stemmer
0

Jeg bruker Native Geocoder i min Ionic app. dokumentert her

ionic dokumentasjon

GitHub Repo

Dette er metoden i min leverandør -

//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);
        });
    })
  }

Fremgangsmåten tar en adressestreng som inndata. Så jeg får adressen fra google steder API, og passerer beskrivelse her.

Nå, for bestemte adresser, det bare ser ikke ut til å finne koordinatene, og returnerer en Kan ikke finne et sted -melding. For eksempel Bhadra Brookefields Leilighet B Block, Kundanahalli Lake Road, Kundalahalli, Brook, Bengaluru, Karnataka, India er en gyldig adresse og returnerer koordinatene, mens Times Square 42 Street Station, New York, NY, USA ikke finner en kamp og returnerer en melding som sier - Kan ikke finne et sted.

For mer informasjon på Kan ikke finne et sted synes å ha opprinnelse fra cordova plugin koden her på linje # 182. , Hvor det refererer til Android-klassen.

Er dette et kjent problem? Eller er det noe jeg gjør galt?

Publisert på 16/03/2018 klokken 15:10
kilden bruker
På andre språk...                            


2 svar

stemmer
1

Minst én annen person mener plugin synes å være litt av en hit / miss - en kommentar på denne artikkelen nedenfor

Ionisk 2 - Geolocation og GeocodingIonic 2 - Geolocation og geokoding

Kommentaren er fra en Mr. Purple Edge, og jeg kan ikke knytte kommentar seg selv fordi det er en DISQ, og ikke tillatt av Stack.

Så, jeg har tydd til hva som kan tolkes både som en løsning eller som en midlertidig løsning. I stedet for å bruke plugin, jeg bare bruker api, og dermed gjøre en HTTP-forespørsel for å få informasjon.

Metode for å få informasjon (i en leverandør):

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

Metode samtale ->

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;
        }

Selvfølgelig, det må være på grunn av prosessen med å registrere for nøkkelen.

Svarte 16/03/2018 kl. 20:04
kilden bruker

stemmer
0

Det er ikke et problem i plugin. Du trenger bare å legge til flere en slik at du kan be om tillatelse til å aktivere High Accuracyi telefonen.

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

Svarte 09/08/2018 kl. 06:46
kilden bruker

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