为什么我的GeoJsonLayer.boundingBox等于null?

时间:2018-04-27 09:22:56

标签: java android bounding-box

我希望将地图集中到我的geojsonLayer。 到目前为止,我有:

TestScreen:

    GridLayout:
        cols: 2
        padding: 30, 30
        spacing: 10, 10
        row_default_height: '30dp'

        Label:
            text: 'Name'
            text_size: self.size
            valign: 'middle'
            #padding_x: 50

        TextInput:
            id: name

        Button:
            text: 'Ok'
            on_press: root.insert_data()

        Button:
            text: 'Cancel'
            on_press: app.stop()

但即使图层设置为地图

,边界也为空
GeoJsonLayer layer = new GeoJsonLayer(mymap,geojson);
layer.affLayerToMap();
LatLngBounds bounds = layer.getBoundingBox();
mymap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 0));

1 个答案:

答案 0 :(得分:1)

根据getBoundingBox()方法的documentation(以及通过查看代码),您将看到boundingBox仅在您的geojson中存在FeatureCollection时才具有值(所以它不会使用简单的多边形或线条。而且,如果没有" bbox"它似乎根本不会起作用。在geojson中的属性,我没有在代码中看到任何实际遍历每个坐标并保存边界框的机制。

我建议您使用LatLngBounds.Builder自行解析坐标。