Citymaps SDK安卓,无法添加图块层

时间:2015-03-25 16:22:47

标签: android dictionary citymaps

我是开发人员。我从Citymaps的SDK应用程序开始。 我从这里读到:http://developer.citymaps.com/layers#data-layer 但是,SDK版最新不支持这样,我写的如下:

DataTileSource tileSource = DataTileSource.createFromURL("http://vector.mapzen.com/osm/all/{zoom}/{x}/{y}.json”);

// Initialize the layer
TileLayerOptions optionsTiles = new TileLayerOptions(tileSource);

DataTileLayer dataLayer = new DataTileLayer(optionsTiles);
// Object implementing the interface

DataTileLayerListener dataLayer.setListener(this);
 // Add the layer to the map

mapView.setBaseLayer(dataLayer);.

使用接口“DataTileLayerListener”我监听器事件“onTileLoaded”并且它打印到记录器“工作”...但是Tiles地图不显示在View上。

你帮我吗?非常感谢!

1 个答案:

答案 0 :(得分:0)

我是Citymaps地图团队的主要开发人员之一,我很乐意帮助解决您的问题。

我认为您对DataTileLayer的功能感到困惑。数据层实际上没有任何特定的解析或呈现行为。它们只是将数据返回到客户端应用程序。客户端必须处理该数据的任何解析或呈现。此外,数据层不会为您管理数据,因此如果您在磁贴开启或关闭时都应添加或删除功能,则客户端也可以自行处理。

我快速查看了您要解析的数据。它似乎正在返回一个GeoJSON数据集。如果您编写GeoJSON解析器(此时,Citymaps未附带此功能),则可以使用CanvasLayer呈现这些功能。您可以在此处阅读有关CanvasLayer的更多信息:http://developer.citymaps.com/canvas

我建议使用Citymaps矢量图层,而不是将Mapzen的矢量图块用作基础图层,您可以通过初始化CitymapsMapView来使用它。但是,这确实需要API密钥。如果您需要API密钥,请按照此处的说明操作:http://developer.citymaps.com/getting-started#apikey