2

OpenStreetMap を使用する必要があるアプリを構築しています。マップが読み込まれます。ただし、ズームアウトすると、複数のマップがロードされていることがわかりました..実際、それらの数は無限にあるようです...中央に1つのマップ、上に1つ、下に1つのマップ。実際に画面を下にスクロールすると、さらに表示されます...

どういう理由ですか?申し訳ありませんが、stackoverflow では写真をアップロードできません。私のコードが添付されているので、試してみてください..

もう 1 つのことは、位置情報サービスを使用して現在の位置の緯度と経度を見つけ、それらを GeoPoint に保存したことです。次に、ズームの中心をそのポイントに設定しましたが、osm は別のポイントに移動しました。とても遠い。

私のコードとXMLファイルは以下に添付されています

public class OsmdActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    MapView mapView = (MapView) findViewById(R.id.mapview);
    mapView.setTileSource(TileSourceFactory.MAPNIK);
    mapView.setBuiltInZoomControls(true);
    MapController mapController = mapView.getController();
    mapController.setZoom(10);

    double lat = 1.29377413882149 * 1000000;
    double lon = 103.771969817518 * 1000000;
    GeoPoint p = new GeoPoint(lat, lon);
    mapController.setCenter(p);
}}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <org.osmdroid.views.MapView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:clickable="true"/>
</LinearLayout>
4

3 に答える 3

0

I gues you have more than on archive (maps) in SD card/osmdroid folder and because of that you see more maps.

For center on your location you can use.

    mMapView.getController().animateTo(yourPosition);
于 2012-05-09T07:46:23.907 に答える