0

私は axios を使用して、Google の API を使用して GeoLocation 情報を取得しています。

var request = require('axios');

request.get(`https://maps.googleapis.com/maps/api/geocode/json?
  latlng=${this.state.location.lat},${this.state.location.long}
  &language=${this.state.language}&result_type=country|administrative_area_level_1
  &key=${keys.googlemaps}`).then((response)=>{/* ... */})

このリクエストは、iOS シミュレーターで実行しているときに機能しますが、Android エミュレーターでこのリクエストを送信すると、次の例外が発生します。

{
   config: ...,
   data: "not valid as a java.net.URI: https://maps.googleapis.com/maps/api/geocode/json?latlng=65.9667,-18.5333&language=en&result_type=country|administrative_area_level_1&key=MY_KEY",
...
}

Androidで「java.net.URIとして無効」例外をスローするURLのセミコロンに関する他の投稿を読みましたが、このURLには何もありません。この問題は、fetch などの他のネットワーク API を使用している場合にも発生します。

他の誰かがこの問題に遭遇しましたか? ありがとう!

4

1 に答える 1

0

フェッチを使用していますが、encodeURI() は「java.net.URI として無効」を解決しました。

from: request.get( .....)

to: request.get(encodeURI( .....))

于 2016-03-14T06:40:57.597 に答える