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 소스"이다.