我是开发者。我从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”,并将其打印到记录器“工作”…但是平铺贴图不会显示在视图上。
你能帮我吗?非常感谢!
发布于 2015-03-26 07:16:06
我是Citymaps Maps团队的首席开发人员之一,我很乐意帮助解决您的问题。
我认为您对DataTileLayer的功能感到困惑。数据层实际上没有任何特定的解析或呈现行为。它们只是将数据按原样返回给客户端应用程序。该数据的任何解析或呈现都必须由客户端处理。此外,数据层不会为您管理数据,因此,如果您有应在屏幕上或屏幕外显示的磁贴时添加或删除的功能,也应由客户端来处理。
我快速浏览了一下您要解析的数据。它似乎返回了一个GeoJSON数据集。如果您编写了GeoJSON解析器(此时,Citymaps不附带此功能),则可以使用CanvasLayer呈现这些功能。你可以在这里阅读更多关于CanvasLayer的信息:http://developer.citymaps.com/canvas
我建议您使用Citymaps矢量层,而不是使用Mapzen的矢量tiles作为基础层,您可以通过初始化CitymapsMapView来使用它。但是,这确实需要一个API密钥。如果您想要一个API键,请按照这里的说明操作:http://developer.citymaps.com/getting-started#apikey
https://stackoverflow.com/questions/29261103
复制相似问题