【发布时间】:2012-03-31 19:41:47
【问题描述】:
我一直在寻找一个很好的教程,其中包含 ICS 片段中 MapView 的代码示例。
谁有链接?
【问题讨论】:
标签: android android-mapview fragment
我一直在寻找一个很好的教程,其中包含 ICS 片段中 MapView 的代码示例。
谁有链接?
【问题讨论】:
标签: android android-mapview fragment
Here is a book's sample application 展示了如何在 API 级别 11+ 应用程序中的 Fragment 中拥有 MapView。它主要只是一个MapActivity。以下是加载MapView 的片段的关键位:
public class MapFragment extends Fragment {
private MapView map=null;
private MyLocationOverlay me=null;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
return(new FrameLayout(getActivity()));
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
map=new MapView(getActivity(), "0mjl6OufrY-tHs6WFurtL7rsYyEMpdEqBCbyjXg");
map.setClickable(true);
map.getController().setCenter(getPoint(40.76793169992044,
-73.98180484771729));
map.getController().setZoom(17);
map.setBuiltInZoomControls(true);
Drawable marker=getResources().getDrawable(R.drawable.marker);
marker.setBounds(0, 0, marker.getIntrinsicWidth(),
marker.getIntrinsicHeight());
map.getOverlays().add(new SitesOverlay(marker));
me=new MyLocationOverlay(getActivity(), map);
map.getOverlays().add(me);
((ViewGroup)getView()).addView(map);
}
// rest of fragment here
}
【讨论】:
MapView 要求其托管活动为MapActivity。 “我目前有一个包含三个片段的活动,其中一个 id 喜欢显示地图”——仅仅因为它是 MapActivity 并不意味着它可以显示的 only 东西是MapView。这应该可以正常工作。
<uses-library> 元素。
我在这里MapView in a Fragment (Honeycomb)回答了同样的问题
【讨论】: