Ionic Native Geocoder „Nelze najít místo.“

hlasů
0

Já používám Native Geocoder v mém Ionic app. zde zdokumentováno

Ionic dokumentace

Github Repo

Toto je metoda podle mého poskytovatele -

//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 přijímá adresového řetězce jako vstup. Tak jsem si adresu z Adresáře míst Google API a předat popis zde.

Nyní, pro některé adresy, to prostě nezdá najít souřadnice a vrátí zprávu „Nelze najít umístění“. Pro například Bhadra Brookefields Apartmán B Block, Kundanahalli Lake Road, Kundalahalli, Brookefield, Bengaluru, Karnataka, Indie je platná adresa a vrátí souřadnic, zatímco Times Square 42 Street Station, New York, NY, USA nenajde zápas a vrátí zprávu, že - „Nemohu najít místo“.

Další informace „Nelze najít místo“ Zdá se, že pochází z Cordova plugin kódu zde na trase # 182. , Kde se odkazuje na třídu Android.

Je to známý problém? Nebo je tam něco, co dělám špatně?

Položena 16/03/2018 v 15:10
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
0

Nejméně jedna osoba věří, že zásuvný modul se zdá být trochu hit / Miss - komentář k tomuto článku níže

Ionic 2 - Geolocation a GeocodingIonic 2 - Geolocation a Geocoding

Komentář je od jednoho pana Purple Edge, a nemohu propojit poznámku sám, protože je to Disq a nepovolí Stack.

Takže jsem se uchýlil k tomu, co lze interpretovat i jako roztok nebo jako dočasné řešení. Namísto použití zásuvný modul, jsem jednoduše pomocí rozhraní API, čímž se požadavek HTTP, jak získat informace.

Způsob, jak získat informace (v poskytovatele):

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

Volání metody ->

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

Samozřejmě, je třeba být spravedlivý proces přihlašování ke klíči.

Odpovězeno 16/03/2018 v 20:04
zdroj uživatelem

hlasů
0

To není problém zásuvného modulu. Vám stačí přidat ještě jeden, takže můžete požádat o povolení k aktivovat High Accuracyv telefonu.

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

Odpovězeno 09/08/2018 v 06:46
zdroj uživatelem

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