首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nutiteq SDK支持自定义/ HTTPS分片数据源

Nutiteq SDK支持自定义/ HTTPS分片数据源
EN

Stack Overflow用户
提问于 2015-06-16 23:12:28
回答 1查看 94关注 0票数 0

我尝试了Nutiteq SDK的自定义磁贴URL,它使用HTTPS,但它不起作用。Nutiteq Maps SDK是否支持HTTPS?

EN

回答 1

Stack Overflow用户

发布于 2015-06-16 23:12:28

Nutiteq Maps SDK内部不支持跨平台API级别的HTTPS。确切地说,只有Windows Phone API版本支持它,但不支持其他平台(安卓、iOS、Xamarin)。对于其他平台,您需要编写自定义DataSource。如果您将它建立在现有HTTPTileDataSource的基础上,那么它非常简单。您只需要使用自定义代码覆盖public TileData loadTile(MapTile tile)方法,这些代码在Java或HTTPS级别执行HTTPS,这些代码会自动支持ObjC。

下面是Java的最小类。在.NET/Xamarin和iOS中,它非常相似:

代码语言:javascript
复制
public class MyHttpTileDataSource extends HTTPTileDataSource {

public MyHttpTileDataSource(int minZoom, int maxZoom, String baseURL) {
    super(minZoom, maxZoom, baseURL);
}

public TileData loadTile(MapTile tile) {

    String urlString = super.buildTileUrl(tile);

    Log.debug("requesting tile: "+urlString);

    Bitmap bmp = null;
    try {
        URL url = new URL(urlString);
        bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }

    return new TileData(BitmapUtils.createBitmapFromAndroidBitmap(bmp).compressToInternal());
  }

}

使用相同的方法,您还可以使用其他自定义逻辑,例如添加用于身份验证的HTTP头、控制自定义缓存等。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30871571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档