Osmdroid 渲染不像那样 - TileSource PublicTransport
Osmdroid render not expected like that - TileSource PublicTransport
我在使用需要使用 OSMPublicTransport tilesource 的应用程序时遇到了一些问题。
单击here可以看到奇怪的 MapView。那么,为什么 在我的应用程序中出现这种丑陋的东西?
其他 tilesource 很有魅力。
我不知道为什么它给我显示这样的地图视图。
一直在等官方的结果website
这是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parent_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<org.osmdroid.views.MapView
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tilesource="OSMPublicTransport" />
</RelativeLayout>
这里是我如何声明我的观点 :
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
mapView = FindViewById<MapView> (Resource.Id.mapview);
mapView.SetTileSource (TileSourceFactory.PublicTransport);
mapView.SetBuiltInZoomControls (true);
mapView.SetMultiTouchControls (true);
}
提前,谢谢!
osmdroid PublicTransport 的图块 url 是:http://openptmap.org/tiles/
你说的tilesurl(官方osmpublic交通图)结构如下:http://b.tile.thunderforest.com/transport/
您可能会在 osmdroid 中提出问题,因为它们的 url 似乎已过时。
您也可以构建自己的图块源。很简单,通过查看 osmdroid TileSourceFactory 源代码来获取示例。
OSMPublicTransport 图块是叠加图块。它们旨在显示在现有图像之上。所以使用常规的图块源,然后为叠加图像添加一个新的 TilesOverlay:
// Add tiles layer
MapTileProviderBasic provider = new MapTileProviderBasic(getApplicationContext());
provider.setTileSource(TileSourceFactory.PUBLIC_TRANSPORT);
TilesOverlay tilesOverlay = new TilesOverlay(provider, this.getBaseContext());
mapView.getOverlays().add(tilesOverlay);
我在使用需要使用 OSMPublicTransport tilesource 的应用程序时遇到了一些问题。
单击here可以看到奇怪的 MapView。那么,为什么 在我的应用程序中出现这种丑陋的东西? 其他 tilesource 很有魅力。
我不知道为什么它给我显示这样的地图视图。 一直在等官方的结果website
这是我的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/parent_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<org.osmdroid.views.MapView
android:id="@+id/mapview"
android:layout_width="match_parent"
android:layout_height="match_parent"
tilesource="OSMPublicTransport" />
</RelativeLayout>
这里是我如何声明我的观点 :
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
mapView = FindViewById<MapView> (Resource.Id.mapview);
mapView.SetTileSource (TileSourceFactory.PublicTransport);
mapView.SetBuiltInZoomControls (true);
mapView.SetMultiTouchControls (true);
}
提前,谢谢!
osmdroid PublicTransport 的图块 url 是:http://openptmap.org/tiles/
你说的tilesurl(官方osmpublic交通图)结构如下:http://b.tile.thunderforest.com/transport/
您可能会在 osmdroid 中提出问题,因为它们的 url 似乎已过时。
您也可以构建自己的图块源。很简单,通过查看 osmdroid TileSourceFactory 源代码来获取示例。
OSMPublicTransport 图块是叠加图块。它们旨在显示在现有图像之上。所以使用常规的图块源,然后为叠加图像添加一个新的 TilesOverlay:
// Add tiles layer
MapTileProviderBasic provider = new MapTileProviderBasic(getApplicationContext());
provider.setTileSource(TileSourceFactory.PUBLIC_TRANSPORT);
TilesOverlay tilesOverlay = new TilesOverlay(provider, this.getBaseContext());
mapView.getOverlays().add(tilesOverlay);