我将Ionic Framework用于正在创建的应用程序,并为此而停止。我正在使用Geolocation模块来获取用户的当前位置。我有一个这样存储纬度和经度的对象:
public void start(Stage stage) throws Exception {
String blackBorder = "-fx-border-style: solid; -fx-border-width: 1; -fx-border-color: black";
Button calculate = new Button("Calculate");
Button cancel = new Button("Cancel");
HBox runButtons = new HBox(calculate, cancel);
VBox rightCol = new VBox(runButtons);
rightCol.setStyle(blackBorder);
Button save = new Button("Save");
Button del= new Button("Delete");
HBox settings = new HBox(save, load);
VBox leftCol = new VBox(settings);
leftCol.setStyle(blackBorder);
HBox root = new HBox(leftCol, rightCol);
root.setPadding(new Insets(15));
Scene scene = new Scene(root, 800, 600);
stage.setScene(scene);
stage.show();
}
但是当我尝试将纬度和经度保存到对象(location_coordinate: {
latitude: number;
longitude: number;
}
)时,此操作将无效,并且会引发错误。
this.location_coordinate.latitude = resp.coords.latitude;
如果我将其设置为变量,例如:
Error getting location TypeError: Cannot set property 'latitude' of undefined
然后:
latitude: number;
这有效。为什么会这样呢?我想念什么吗?
注意: this.lat = resp.coords.latitude;
是get请求返回的内容。
答案 0 :(得分:0)
Error getting location TypeError: Cannot set property 'latitude' of undefined
。
此错误可能意味着location_coordinate
是undefined
。检查您已定义[或可能从未定义?] this.location_coordinate
的代码。将其设置为某个对象后,您肯定可以使用this.location_coordinate.latitude = resp.coords.latitude;
为了验证我的假设,您可以执行以下操作:
分配一个常量来查看错误是否仍然存在:this.location_coordinate.latitude = 0;
在访问this.location_coordinate
之前打印this.location_coordinate.latitude
的值