1

我已经从OpenMapTiles Map Server实现了一个拥有的地图服务器

我的意图是将 MapBox SDK 与我的服务器的地图一起使用。

打开地图瓦片服务器

使用以下TileJSON 2.0 规范应用“暗物质”样式:

在此处输入图像描述

通过使用 MapBox 的 setStyleJson 方法,我设置了这个原点:

setContentView(R.layout.activity_main);
        Mapbox.getInstance(this, "access_token");
        setContentView(R.layout.activity_main);
        mapView = (MapView) findViewById(R.id.mapView);
        mapView.onCreate(savedInstanceState);

        mapView.getMapAsync(new OnMapReadyCallback() {
            @Override
            public void onMapReady(MapboxMap mapboxMap) {
                mapboxMap.setStyleJson("http://192.168.1.65:8080/styles/dark-matter.json");
                mapboxMap.setCameraPosition(new CameraPosition.Builder()
                        .target(new LatLng(47.3769, 8.5417))
                        .zoom(25)
                        .build());
            }
        });

地图保持空白,通过 logcat 我可以看到以下错误消息:

05-17 12:38:18.489 19008-19008/sergio.sanchez.sanchez.demomapbox E/mbgl: {chez.demomapbox}[ParseStyle]: Failed to parse style: 0 - Invalid value.

有人可以告诉我我做错了什么吗?

谢谢你。

4

1 回答 1

1

mapboxMap.setStyleJson方法需要实际的 JSON 字符串,而不是 URL。要传递 URL,请使用 mapbox 地图的setStyleUrl方法或地图视图的setStyleUrl方法:

mapView.setStyleUrl("http://192.168.1.65:8080/styles/dark-matter.json");
mapView.onCreate(savedInstanceState);
于 2018-05-21T11:15:47.360 回答