0

问题:

我需要在 ViewPager 中放置一个 MapView

更多信息:

由于 Mapview 将是静态的(clickable="false"),因此滚动或触摸事件不会有任何问题。ViewPager 将得到每一次触摸,仅此而已。

我试过的:

经过大量的谷歌搜索,我发现了这个很棒的库:https ://github.com/inazaruk/map-fragment

我在寻呼机适配器中的代码:

@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 从 Fragment 发送到 Activity 呢?

目前 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 回答