离子GeoPosition TypeError

时间:2018-12-10 02:16:09

标签: javascript ionic-framework ionic3

我将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请求返回的内容。

1 个答案:

答案 0 :(得分:0)

Error getting location TypeError: Cannot set property 'latitude' of undefined

此错误可能意味着location_coordinateundefined。检查您已定义[或可能从未定义?] this.location_coordinate的代码。将其设置为某个对象后,您肯定可以使用this.location_coordinate.latitude = resp.coords.latitude;

为了验证我的假设,您可以执行以下操作:

  1. 分配一个常量来查看错误是否仍然存在:this.location_coordinate.latitude = 0;

  2. 在访问this.location_coordinate之前打印this.location_coordinate.latitude的值