Ionic Native Geocoder "Cannot find a location."

Ionic Native Geocoder "Cannot find a location."

我在我的 Ionic 应用程序中使用 Native Geocoder。记录在这里

Ionic documentation

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

该方法接受地址字符串作为输入。所以我从 google 处 API 获取地址,并在此处传递描述。

现在,对于某些地址,它似乎找不到坐标,returns 出现“找不到位置”消息。例如"Bhadra Brookefields Apartment B Block, Kundanahalli Lake Road, Kundalahalli, Brookefield, Bengaluru, Karnataka, India" 是一个有效地址和 returns 坐标,而 “时代广场 42 街站,纽约,纽约州,美国” 找不到匹配项,returns 一条消息说 - “找不到位置”。

有关“找不到位置”的更多信息,似乎源自 cordova plugin code here on line #182.,它引用了 Android class。

这是一个已知问题吗?还是我做错了什么?

至少还有一个人认为该插件似乎有点像 hit/miss - 下面是对这篇文章的评论

Ionic 2 – Geolocation and GeocodingIonic 2 – Geolocation and Geocoding

评论来自一位 Purple Edge 先生,我不能 link 评论本身,因为它是 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;
        }

当然要有注册key的正当程序。

不是插件的问题。您只需要再添加一个,这样您就可以请求在 phone.

中激活 High Accuracy 的许可

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