簡體   English   中英

在Google Maps API v2中創建用於繪畫標記的類

[英]create a class for painting markers in google maps api v2

我正在嘗試做一個用於在地圖上繪制少量標記的類。 我有問題,但是這個問題是Java問題,沒有Android問題。

我有一個主類,它實例化一個幫助器類,該幫助器類定義了繪制標記的方法:

private GoogleMap mapa = null;
private MostrarBares pintaBares; //helper class

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_tapas);

    mapa = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapaTapas)).getMap();
    mapa.setOnMarkerClickListener(this);
    mapa.setOnInfoWindowClickListener(this);

    if(todos == true)
        pintaBares.addTodosMap(mapa);
    .....

現在,我編寫幫助程序類:

public class MostrarBares {
    public void addNo11OnMap(GoogleMap map)
    {
        map.addMarker(new MarkerOptions()
          .position(new LatLng(40.656106,-4.691306))
          .title("El No.11 La Taberna")
         .icon(BitmapDescriptorFactory.fromResource(R.drawable.no11)));
    }

    public void addTodosMap(GoogleMap map)
    {
      addNo11OnMap(map);
    }
}

調用方法pintaBares.addTodosMap(mapa)時,它將引發空指針異常...問題是什么?

如果我想實現這些方法

@Override
public boolean onMarkerClick(Marker marker) 
{
    Toast.makeText(this, marker.getTitle(), Toast.LENGTH_LONG).show();

    return(false);
}

@Override
public void onInfoWindowClick(Marker marker)
{
    Toast.makeText(this, marker.getTitle(), Toast.LENGTH_LONG).show();
}

我應該在哪里實施這些? 在主班還是助手班?

非常感謝你。

更改

private MostrarBares pintaBares; //helper class

private MostrarBares pintaBares = new MostrarBares(); //helper class

您需要有一個可以在其上調用方法的對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM