Ionic Native geocoder „Nie można znaleźć lokalizację.”

głosy
0

Używam Native geocoder w moim app jońskim. udokumentowane tutaj

Ionic dokumentacja

github Repo

Jest to metoda w moim dostawcą -

//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 ta przyjmuje ciąg adresu jako wejścia. Więc uzyskać adres z Miejsc Google API, i przekazać opis tutaj.

Teraz, dla niektórych adresów, to po prostu nie wydaje się, aby znaleźć współrzędne i zwraca komunikat „nie można znaleźć miejsca”. Na przykład Bhadra Brookefields Apartament B Block, Kundanahalli Lake Road, Kundalahalli, Brookefield, Bangalore, Karnataka, Indie jest prawidłowy adres i zwraca współrzędne, podczas gdy Times Square 42 Street Station, New York, NY, USA nie znajdzie mecz i zwraca komunikat mówiący - „nie można znaleźć lokalizację”.

Aby uzyskać więcej informacji, „Nie można znaleźć lokalizację” wydaje się być pochodzących z kodem wtyczki Cordova tutaj na linii nr 182. , Gdzie jest odwołanie do klasy Android.

Jest to znany problem? Czy jest tam coś, co robię źle?

Utwórz 16/03/2018 o 15:10
źródło użytkownik
W innych językach...                            


2 odpowiedzi

głosy
0

Przynajmniej jedna osoba uważa, że ​​wtyczka wydaje się być trochę hit / miss - komentarz na temat tego artykułu poniżej

Ionic 2 - Geolokalizacja i GeocodingIonic 2 - Geolokalizacja i Geocoding

Komentarz jest z jednego pana Purpurowy Edge, i nie mogę połączyć sam komentarz, ponieważ jest to disq i niedozwolone przez stos.

Więc uciekają się do tego, co można interpretować zarówno w postaci roztworu lub jako obejście. Zamiast korzystać z wtyczki, jestem po prostu za pomocą interfejsu API, dzięki czemu żądania HTTP, aby uzyskać informacje.

Sposób, aby uzyskać informacje (w operatora):

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

Sposób połączenia ->

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

Oczywiście, nie musi być spowodowane procesem rejestracji na klucz.

Odpowiedział 16/03/2018 o 20:04
źródło użytkownik

głosy
0

To nie jest problem z wtyczką. Trzeba po prostu dodać więcej jeden, więc można poprosić o pozwolenie, aby uaktywnić High Accuracyw telefonie.

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

Odpowiedział 09/08/2018 o 06:46
źródło użytkownik

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