0

問題:

ViewPager に MapView を配置する必要があります

詳細情報:

Mapview は静的 (clickable="false") であるため、スクロールやタッチ イベントに問題はありません。ViewPager はすべてのタッチを取得し、それだけです。

私が試したこと:

多くの Google 検索の後、この素晴らしいライブラリを見つけました: https://github.com/inazaruk/map-fragment

Pager Adapter の私のコード:

@Override
public Fragment getItem(int position) {
        return new MyMapFragment(itineraries);
}

MyMapFragment のコンストラクター:

public ArrayList<Itinerary> itineraries;

public MyMapFragment(ArrayList<Itinerary> itineraries) {
    super();
    this.itineraries = itineraries;
}

そして、それは機能しています。結果に満足しており、クリックしたときの動作が false に設定されています

私の質問:

旅程を描きたいので、完全に行き詰まっています。

MapFragment には、Mapview 関数はありません。MyMapActivity クラスを編集してそこですべてを機能させることができることはわかっていますが、フラグメントからアクティビティに ArrayList を送信するにはどうすればよいでしょうか?

現在、MapACTivity にはマーカーを描画するための変数がありません。これらの情報はすべて MapFragment にあります

4

1 に答える 1

0

私が理解しているように、使用しますItemizedOverlay<OverlayItem>(代わりに画像を配置して、マップ上にマーカーを描画します)。

public class MyViewActivity extends MapActivity {
....
OverlayItem myMarker;
MapView myMapView;
ItemizedOverlay<OverlayItem> mItemizedoverlay;
GeoPoint mCurrentPoint;

....

Drawable drawable = this.getResources().getDrawable(R.drawable.target);
    mItemizedoverlay = new MyItemizedOverlay(drawable, this);

....

Address address = ...;
....
mCurrentPoint = new GeoPoint((int) (address.getLatitude() * 1E6), (int) (address.getLongitude() * 1E6));
myMarker = new OverlayItem(mCurrentPoint, "Submit", toSearch);
            mItemizedoverlay.addOverlay(myMarker);
            myMapView.getOverlays().add(mItemizedoverlay);

....
于 2012-11-16T22:51:04.827 に答える