小编Slo*_*loy的帖子

使用Maps API v2以编程方式初始化MapFragment

我正在尝试将MapFragment添加到我当前的Fragment中.嵌套片段的使用仅限于FragmentTransactions,您不能在布局中使用xml标记.此外,我希望在用户按下按钮时将其添加到主片段中.所以,getInstance()当用户按下该按钮并将其添加到适当的位置时,我将以编程方式创建MapFragment .它显示正确,到目前为止一切顺利.

问题是在附加MapFragment之后我需要获得一个GoogleMap 放置Marker的引用,但是该getMap()方法返回null(因为片段onCreateView()还没有被调用).

我查看了演示示例代码,我发现他们使用的解决方案是初始化MapFragment onCreate()并在调用onResume()之后获取对GoogleMap的引用onCreateView().

我需要在MapFragment初始化之后立即获取对GoogleMap的引用,因为我希望用户能够使用按钮显示或隐藏地图.我知道一个可能的解决方案是如上所述在开始时创建Map并且只是设置它的可见性消失了,但我希望默认情况下关闭地图,这样如果没有明确要求它就不会占用用户的带宽为了它.

我试过了MapsInitializer,但也没用.我有点卡住了.有任何想法吗?这是我到目前为止的测试代码:

public class ParadaInfoFragment extends BaseDBFragment {
// BaseDBFragment is just a SherlockFragment with custom utility methods.

private static final String MAP_FRAGMENT_TAG = "map";
private GoogleMap mMap;
private SupportMapFragment mMapFragment;
private TextView mToggleMapa;
private boolean isMapVisible = false;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.fragment_parada_info, container, false);
    mToggleMapa = (TextView) v.findViewById(R.id.parada_info_map_button); …
Run Code Online (Sandbox Code Playgroud)

android google-maps android-fragments

48
推荐指数
3
解决办法
6万
查看次数

Maps API v2具有不同的标记操作

我正在尝试将我的应用程序移植到新的Google Maps API v2,但是在与标记进行交互时遇到了麻烦.

我的背景:我有一张显示公共汽车和公共汽车站的地图.有了旧图书馆,我有自己的ItemizedOverlay用于公共汽车站,另一个用于公共汽车站.每个人都有一个不同的OnTapListener(实际上我使用外部库来显示气球),所以当用户点击总线标记时没有任何反应,但是当他点击公共汽车站标记时,会打开一个包含其信息的活动.此外,在我的ItemizedOverlay中,我使用模型的总线停止对象映射每个标记.

现在使用新的API我有两个主要问题:

  • 使用GoogleMap对象的setOnInfoWindowClickListener()或setOnMarkerClickListener()方法设置侦听器.换句话说,你只能为整个地图设置一个监听器,所以我无法区分公交车站或公交车上的水龙头.
  • 两个标记的onClick方法只接收Marker对象,从那里我无法获得太多信息,比如公共汽车站号码来打开它的活动(我希望有一种比解析标题字符串更好的方法!O_O)

我认为这两个问题可以使用Marker的不同子句来解决,但它没有构造函数,并且在将其添加到地图时会得到它的引用,所以我不知道是否可以使用自定义实现.

API是新的,因此网上没有太多关于类似问题的信息.我一直想弄清楚如何解决这个问题,但我一无所获.有谁知道这可能的解决方案?

谢谢.

编辑:我当前应用程序的地图的屏幕截图,有两种类型的标记: 我当前应用程序的地图中有两种标记的屏幕截图

android google-maps google-maps-markers

20
推荐指数
2
解决办法
1万
查看次数