MapBox를 사용하여 로컬로 저장 GeoJSON 파일에서 데이터를 추가 및 표시

LearningToJava :

나는 "자산"폴더에 추가 된 GeoJSON 파일에서지도에 마커를 추가하려고 해요.

나는 따라 시도했습니다 문서 마커가 응용 프로그램을 실행할 때 발견 할 수없는 곳이기 때문에 그러나 예상 된 결과를 얻을 수 없었다합니다.

내 시도 :

public void onMapReady(@NonNull final MapboxMap mapboxMap) {
    this.mapboxMap = mapboxMap;

    mapboxMap.setStyle(Style.MAPBOX_STREETS,
            new Style.OnStyleLoaded() {
                @Override
                public void onStyleLoaded(@NonNull Style style) {
                    enableLocationComponent(style);
                    GeoJsonSource source = null;
                    try {
                        source = new GeoJsonSource("geojson-source", new URI("asset://markerdata.geojson"));
                    } catch (URISyntaxException e) {
                        e.printStackTrace();
                    }

                    style.addSource(source);

                    Bitmap icon = BitmapFactory.decodeResource(getResources(), R.drawable.marker);
                    style.addImage("marker", icon);


                    SymbolLayer symbolLayer = new SymbolLayer("layer-id", "source-id"); // ?
                    symbolLayer.setProperties(PropertyFactory.iconImage("marker"));

                    style.addLayer(symbolLayer);

                }
            });

}

나는 것으로 나타났습니다 SymbolLayer이 기대는 layer-id하고 source-id있지만 이들이 무엇인지 이해하지 못한다.

안전하게 해놓구

당신은 넣을 경우 마커가 나타납니다 GeoJsonSource는 AS ID를 SymbolLayer소스 ID :

SymbolLayer symbolLayer = new SymbolLayer("layer-id", "geojson-source");

레이어 번호는 레이어의 식별자 인 소스 ID가 표시하는 데이터 소스의 식별자이고, 사용자의 경우는 "geojson 소스"이다.

추천

출처http://10.200.1.11:23101/article/api/json?id=6291&siteId=1