2013-09-26 26 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

相关问题