我试图从使用CarmenFeature的Mapbox中了解一些示例代码,但我不明白它的含义或用途。

尽管我不是在寻找该方法本身的解释,但下面显示了我所指的方法。

谢谢!

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_CODE_AUTOCOMPLETE) {

        // Retrieve selected location's CarmenFeature
        CarmenFeature selectedCarmenFeature = PlaceAutocomplete.getPlace(data);

        // Create a new FeatureCollection and add a new Feature to it using selectedCarmenFeature above.
        // Then retrieve and update the source designated for showing a selected location's symbol layer icon

        if (mapboxMap != null) {
            Style style = mapboxMap.getStyle();
            if (style != null) {
                GeoJsonSource source = style.getSourceAs(geojsonSourceLayerId);
                if (source != null) {
                    source.setGeoJson(FeatureCollection.fromFeatures(
                            new Feature[] {Feature.fromJson(selectedCarmenFeature.toJson())}));
                }

                // Move map camera to the selected location
                mapboxMap.animateCamera(CameraUpdateFactory.newCameraPosition(
                        new CameraPosition.Builder()
                                .target(new LatLng(((Point) selectedCarmenFeature.geometry()).latitude(),
                                        ((Point) selectedCarmenFeature.geometry()).longitude()))
                                .zoom(14)
                                .build()), 4000);
            }
        }
    }
}

最佳答案

CarmenFeature是保存来自a Mapbox Geocoding API response的信息的类的名称。

Here's the CarmenFeature class, which comes from the Mapbox Java SDK

您会在the Java SDK's CarmenFeature class中看到多次提到GeocodingResponse

07-21 22:09