简体   繁体   English

Osmdroid 不从有效来源加载地图

[英]Osmdroid don't load map from valid source

I'm playing around with Osmdroid API and i can see the basic map.我在玩 Osmdroid API,我可以看到基本地图。 But when i try to set custom tile source - i got a full hands of 404 HTTP errors for each tile.但是当我尝试设置自定义磁贴源时 - 我得到了每个磁贴的 404 HTTP 错误。 I've checked my url request for tile in desktop browser and it works ok, returning proper tile.我已经在桌面浏览器中检查了我对 tile 的 url 请求,它工作正常,返回了正确的 tile。 I suppose, osm library do wrong with http request building.我想,osm 库在构建 http 请求时做错了。 My question is - how can i log http requests, that osm make for tiles?我的问题是 - 我如何记录 http 请求,osm 为瓷砖制作? Most proxy solutions works with mobile browser and not with apps.大多数代理解决方案适用于移动浏览器,而不适用于应用程序。 Is there some logging tools on osm api?? osm api上有一些日志工具吗??

Here is the code:这是代码:

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        MapView map = (MapView) findViewById(R.id.map);
        ITileSource tileSource = new XYTileSource("KGKMap", 3, 18, 256, ".png", new String[]{"http://map2.kgk-global.com/tiles/tile.py"});
        map.setTileSource(tileSource);
        map.setBuiltInZoomControls(true);
    }
}

And what i get:我得到了什么:

01-21 04:27:40.306 25696-25737/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/0/1 HTTP response: Not Found
01-21 04:27:40.306 25696-25746/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/2/2 HTTP response: Not Found
01-21 04:27:40.321 25696-25737/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/5/5 HTTP response: Not Found
01-21 04:27:40.325 25696-25746/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/7/1 HTTP response: Not Found
01-21 04:27:40.335 25696-25737/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/6/1 HTTP response: Not Found
01-21 04:27:40.338 25696-25746/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/4/1 HTTP response: Not Found
01-21 04:27:40.357 25696-25737/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/3/1 HTTP response: Not Found
01-21 04:27:40.357 25696-25746/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/2/1 HTTP response: Not Found
01-21 04:27:40.369 25696-25737/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/6/2 HTTP response: Not Found
01-21 04:27:40.373 25696-25746/kravtsov.evgeny.openstreetmap W/OsmDroid: Problem downloading MapTile: /3/4/5 HTTP response: Not Found

Problem solved.问题解决了。 Http queries, generated by OSM, did not match my tile server protocol. OSM 生成的 Http 查询与我的磁贴服务器协议不匹配。 Solution was simple - extend XYTileSource class from OSM.解决方案很简单 - 从 OSM 扩展 XYTileSource 类。 In getTileURLString() method you can make any form for http query.在 getTileURLString() 方法中,您可以为 http 查询创建任何形式。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM