5

マップビューにカスタムベースレイヤーを追加する必要があります。私の理解では、マップタイルはグーグルタイルとまったく同じです。これらは、次の形式で提供される静的ファイルです:http:///tilecache///.png

たとえば、http:/// tilecache / 6/16 / 26.pngは、フロリダアラバマとミシシッピの間の湾岸です。

タイルでオーバーレイを作成するにはどうすればよいですか?

4

3 に答える 3

2

osmdroid(上記で推奨)はクールですが、かなり巨大です。少し前に、代わりにhttp://sourceforge.net/projects/libwlocate/を使用することにしました。osmdroidのようなマップを表示/スクロール/ズームする機能が含まれていますが、OSM、Googleマップ、またはGoogle衛星ビューのいずれかを使用できます。

使用方法の例は、http://libwlocate.git.sourceforge.net/git/gitweb.cgi?p = libwlocate / libwlocate; a = blob; f = master / android / LocDemo / src /com/にあります。 vwp / locdemo / LocDemo.java; h = 5e2134fb7d197258f5f4f6f9021d2fa9ad9f2d9a; hb = HEAD

于 2012-12-04T12:54:10.560 に答える
1

osmdroidの使用をお勧めします。OnlineTileSourecBaseを拡張できます。

public class YourTileSource extends OnlineTileSourceBase implements IStyledTileSource<Integer> {

public YourTileSource (String aName, string aResourceId,
    int aZoomMinLevel, int aZoomMaxLevel, int aTileSizePixels,
    String aImageFilenameEnding, String aBaseUrl) {
    super(aName, aResourceId, aZoomMinLevel, aZoomMaxLevel, aTileSizePixels,
            aImageFilenameEnding, aBaseUrl);
}

public void setStyle(Integer style) {
    // TODO Auto-generated method stub
}

public void setStyle(String style) {
    // TODO Auto-generated method stub
}

public Integer getStyle() {
    // TODO Auto-generated method stub
    return null;
}

@Override
public String getTileURLString(MapTile aTile) {
    return getBaseUrl() + "/" + aTile.getX() + "/" + aTile.getY() + "/" + aTile.getZoomLevel() + ".png";
}

}

次に、タイルソースをマップビューに追加します。

TileSourceFactory.addTileSource(new YourTileSource ("YourTileSource", null, 1, 20, 256, ".png", "http:///tilecache/"));
mapView.setTileSource(TileSourceFactory.getTileSource("YourTileSource"));

これを機能させるには、mapViewがorg.osmdroid.views.MapViewである必要があります。OSMdroidクラスは、すべてのgooglemapsクラスを置き換える必要があります。

まず、 osmdroid-android-3.0.8.jarファイルをダウンロードし、プロジェクトのlibsフォルダーに追加してから、右クリック>[プロパティ]>[Javaビルドパス]>[ライブラリ]>[Jarの追加]を選択してプロジェクトに追加します。 libsフォルダーにあります。質問があればもっと投稿してください。私はosmdroidの経験が豊富です。

于 2012-06-22T14:37:47.953 に答える
0

OSMDroidの新しいバージョンでは、コンストラクターへのaResourceIdパラメーターが削除され、最後のパラメーターaBaseUrlString[]になります。

public YourTileSource (String aName, 
    int aZoomMinLevel, 
    int aZoomMaxLevel, 
    int aTileSizePixels,
    String aImageFilenameEnding, 
    String[] aBaseUrl) {

    super(aName, 
          aZoomMinLevel, 
          aZoomMaxLevel, 
          aTileSizePixels, 
          aImageFilenameEnding, 
          aBaseUrl);
}
于 2015-11-30T16:20:20.857 に答える