离子 2 - 错误:需要非空字符串参数



我想根据以JSON格式存储的postcode在地图上显示标记。

我能够访问JSON数据并根据JSON数据中的经度和经度值显示标记。

当我尝试使用postcode时,它失败并显示错误消息

需要一个非空字符串参数。

虽然我确实使用console.log来测试我的postcode,但它确实检索了数据。

我假设发生错误是因为postcode值没有传递到forwardgeocode

我正在使用 Xcode 在我的设备上运行该应用程序。

地图.ts

ionViewDidLoad(){
this.platform.ready().then(() => {
let mapLoaded = this.maps.init(this.mapElement.nativeElement, this.pleaseConnect.nativeElement);
let locationsLoaded = this.maps.load();
Promise.all([
mapLoaded,
locationsLoaded
]).then((result) => {
let locations = result[1];
for (let location of locations) {
let postcode = location.postcode;
console.log(postcode); //did shown up
this.nativeGeocoder.forwardGeocode(postcode)
.then((coordinates: NativeGeocoderForwardResult) => {
this.maps.addMarker(coordinates.latitude, coordinates.longitude);
})
.catch((error: any) => console.log(error));
}
});
});

}

JSON 数据

{
"locations": [
{
"title": "Location A",
"latitude": 1.418744,
"longitude": 103.837302,
"postcode":768547
},
{
"title": "Location B",
"latitude": 1.418744, 
"longitude": 103.833300,
"postcode":760798
},
{
"title": "Location C",
"latitude": 1.417349, 
"longitude": 103.833021,
"postcode":769092
}
]
}

控制台.log(邮政编码(

2017-07-18 01:23:49.387587+0800 MyApp[15636:8899335] 769092
2017-07-18 01:23:49.388004+0800 MyApp[15636:8899335] 760846
2017-07-18 01:23:49.388257+0800 MyApp[15636:8899335] 768448

从您的 json 数据来看,"postcode":769092的类型是Number而不是String。 转换为字符串并尝试:

let codeToPass = postcode.toString();
this.nativeGeocoder.forwardGeocode(codeToPass);

正向地理编码参考

相关内容

  • 没有找到相关文章

最新更新