2013-09-26 36 views
0

我得到了帶有一些標記的谷歌地圖,但所有的標記都有恥辱信息如何爲不同的標記製作不同的信息?地圖標記顯示相同的信息

for (Station station : stationsListResponse.data.stations) { 
      final Station st = station; 
      map.addMarker(new MarkerOptions().position(new LatLng(station.getLatitude(), station.getLongitude()))); 
      map.setInfoWindowAdapter(new InfoWindowAdapter() { 

       @Override 
       public View getInfoWindow(Marker arg0) { 
        return null; 
       } 

       @Override 
       public View getInfoContents(Marker marker) { 

        View v = getLayoutInflater().inflate(R.layout.info_window, null); 
        TextView info= (TextView) v.findViewById(R.id.info); 
        info.setText(st.street+"\n"+st.city); 
        return v; 
       } 
      }); 
     } 

回答

2

的原因,所有的標記具有相同的信息,是因爲你宣佈站ST =站的決賽。

相反,將您希望顯示的信息設置爲標記的屬性,然後在調用getInfoContents(..)時可以訪問它。

 for (Station station : stationsListResponse.data.stations) 
     { 
      map.addMarker(new MarkerOptions().position(new LatLng(station.getLatitude(), station.getLongitude())).snippet(station.street+"\n"+station.city)); 
     } 

     map.setInfoWindowAdapter(new InfoWindowAdapter() { 

      @Override 
      public View getInfoWindow(Marker arg0) { 
       return null; 
      } 

      @Override 
      public View getInfoContents(Marker marker) { 

       View v = getLayoutInflater().inflate(R.layout.info_window, null); 
       TextView info= (TextView) v.findViewById(R.id.info); 
       info.setText(marker.getSnippet()); 
       return v; 
      } 
     }); 
+0

工作知情,謝謝 – Mariusz

0

做這樣

map.setInfoWindowAdapter(new InfoWindowAdapter() { 

     @Override 
     public View getInfoContents(Marker marker) { 
      return null; 
     } 

     @Override 
     public View getInfoWindow(Marker marker) { 
       View v = getLayoutInflater().inflate(R.layout.info_window, null); 
       TextView info= (TextView) v.findViewById(R.id.info); 
       info.setText(st.street+"\n"+st.city); 
       return v; 
     } 
    }); 
+0

甚至最差,都有相同的信息,現在全部丟失背景:( – Mariusz

相關問題