我正在研究Ionic 3,使用iPhone 7 plus和iOS 11进行测试,我刚刚更新到WKWebview,现在我的Google Maps离子原生插件出现了问题。这是我在设备上测试时遇到的错误:
ClientParametersRequest失败,剩余7次尝试(0对10)。错误域= com.google.HTTPStatus代码= 400“(null)”UserInfo = {data =< 3c44d ...........>}`
我不是百分百肯定,但我认为这是CORS的一些问题,现在需要WKWebview。
我已经在一些地方读过您可以通过代理绕过它,方法是在ionic.config.json
文件中添加以下内容:
```
"proxies": [
{
"path": "http://localhost:8080",
"proxyUrl": "https://maps.googleapis.com"
}
],
```
但它不起作用,我不确定我是否有路径和proxyURL正确。
更新:
所以,现在我们知道它不是关于CORS,因为它是一个不好的请求400,所以我发送的数据很糟糕,正如旁观者的评论中正确注意到的那样。我已经测试了代码,它在第2行的JS代码中失败了,我尝试订阅这个事件。
mapMoveSubscribe() {
this.map.addEventListener(GoogleMapsEvent.CAMERA_IDLE).subscribe(() => {
this.map.getCameraPosition().then((cameraPosition) => {
this.temp = JSON.stringify(cameraPosition.target);
this.temp2 = JSON.parse(this.temp);
this.currentLatitude = this.temp2.lat;
this.currentLongitude = this.temp2.lng;
this.nativeGeocoder.reverseGeocode(this.currentLatitude ? this.currentLatitude : 0, this.currentLongitude ? this.currentLongitude : 0).then((result: NativeGeocoderReverseResult) => {
this.locationObject = (result.thoroughfare ? result.thoroughfare + ' ' : '') + (result.subThoroughfare ? result.subThoroughfare + ', ' : '') + (result.locality == result.administrativeArea ? '' : result.locality + ', ') + (result.administrativeArea ? result.administrativeArea + ' ' : '') + (result.postalCode ? result.postalCode + ', ' : '') + (result.countryName ? result.countryName : '');
this.geoObject = result;
}).catch((error: any) => console.log(error));
});
});
}