Ионные Native Geocoder «Не удается найти место.»

голоса
0

Я использую Native Geocoder в моем приложении ионического. Документально здесь

ионные документация

Github Repo

Это метод моего провайдера -

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

Метод принимает адрес строки в качестве входных данных. Таким образом, я получаю адрес из API Google Адресов, и передать описание здесь.

Теперь, для определенных адресов, это просто не кажется , найти координаты, и возвращает «Не удается найти место» сообщение. Для например , «Bhadra Brookefields Apartment B Block, Kundanahalli Lake Road, Kundalahalli, Brookefield, Бангалор, Карнатака, Индия» является действительным адресом и возвращает координаты, в то время как «Таймс - сквер 42 Street Station, Нью - Йорк, Нью - Йорк, США» не находит матч и возвращает сообщение о том , - «не удается найти место».

Для получения дополнительной информации «Не удается найти место» , кажется, происходящий из Cordova плагина код здесь , на линии № 182. , Где он ссылается на Android класса.

Это известная проблема? Или есть что-то, что я делаю неправильно?

Задан 16/03/2018 в 15:10
источник пользователем
На других языках...                            


2 ответов

голоса
0

По крайней мере один другой человек считает, что плагин, кажется, немного хита / промаха - комментарий к этой статье ниже

Ионные 2 - геолокация и GeocodingIonic 2 - геолокация и геокодирования

Комментарий от одного г Фиолетовый Edge, и я не могу связать комментарий сам, потому что это disq, и не допускается Stack.

Итак, я прибегла к тому, что может быть истолковано как в виде раствора или в качестве обходного пути. Вместо того, чтобы использовать плагин, я просто с помощью API, что делает запрос Http, чтобы получить информацию.

Метод получения информации (в поставщике):

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

Метод вызова ->

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

Конечно, должно быть из-за процессом регистрации ключа.

Ответил 16/03/2018 в 20:04
источник пользователем

голоса
0

Это не проблема плагина. Вам нужно просто добавить еще один , так что вы можете попросить разрешения , чтобы активировать High Accuracyв телефоне.

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

Ответил 09/08/2018 в 06:46
источник пользователем

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