2012-04-12 58 views
0

我在mapview中顯示多個點,通過從api的值動態使用for循環,我得到了精確點,但我無法顯示多個標題,我從我用過的api獲得冠軍頭銜,但我每次都會在每個精確位置上再次展示最後一個。這是我的代碼。請幫忙。在mapview中顯示動態標題android

for(int i = 0;i<adapt_objgps.latitude_array.length;i++){ 
    System.out.println("valud oer values:::" +adapt_objgps.latitude_array[1]); 
    lat = adapt_objgps.latitude_array[i]; 
    longit = adapt_objgps.longitude_array[i]; 
    title = adapt_objgps.title_array[i]; 
    address = adapt_objgps.address_array[i]; 

    total = lat+","+longit; 
    System.out.println("value of total:::" +total); 
    System.out.println("value of title:::"+title); 

    mapview = (MapView) findViewById(R.id.mapView); 
    mapview.setBuiltInZoomControls(true); 

    List<Overlay> mapOverlays = mapview.getOverlays(); 

    Drawable drawable = myrefgps.getResources().getDrawable(R.drawable.mark_red); 
    HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable); 

    double dLat = Double.parseDouble(lat) *1E6; 
    double dLongotitue =Double.parseDouble(longit) * 1E6; 

    int iLat = (int) dLat; 
    int iLongtitue = (int) dLongotitue; 

    point = new GeoPoint(iLat, -iLongtitue); 

    System.out.println("point length::" +point); 
    System.out.println("point length::" +title); 
    System.out.println("point length::" +address); 

    OverlayItem overlayitem = new OverlayItem(point, title,address); 
    itemizedoverlay.addOverlay(overlayitem); 

    mapOverlays.add(itemizedoverlay); 
} 
+0

是此行的System.out.println(+冠軍 「稱號:::值」); 只打印不同的標題或最後一個? – user370305 2012-04-12 05:22:49

+0

是的,它打印所有標題從api,但顯示的最後一個每次點擊的針點 – Ved 2012-04-12 05:26:03

+0

好吧,讓我檢查和thk – Ved 2012-04-12 05:31:24

回答

0

只是重新安排你的代碼,現在試着告訴::

mapview = (MapView) findViewById(R.id.mapView); 
mapView.setBuiltInZoomControls(true); 
mapView.displayZoomControls(true); 
List<Overlay> mapOverlays = mapView.getOverlays(); 
Drawable drawable = myrefgps.getResources().getDrawable(R.drawable.mark_red); 
for(int i = 0;i<adapt_objgps.latitude_array.length;i++){ 
    double dLat = Double.parseDouble(adapt_objgps.latitude_array[i]) *1E6; 
    double dLongotitue =Double.parseDouble(adapt_objgps.longitude_array[i]) * 1E6; 
    int iLat = (int) dLat; 
    int iLongtitue = (int) dLongotitue; 
    HelloItemizedOverlay itemizedoverlay = new HelloItemizedOverlay(drawable); 
    GeoPoint point = new GeoPoint(iLat, -iLongtitue); 
    OverlayItem overlayitem = new OverlayItem(point, adapt_objgps.title_array[i],adapt_objgps.address_array[i]); 
    itemizedoverlay.addOverlay(overlayitem); 
    mapOverlays.add(itemizedoverlay); 
} 
+0

抱歉,但它顯示相同再次標題顯示在這兩個pinpoints – Ved 2012-04-12 06:08:00

+0

好吧thnks我解決了我的問題 – Ved 2012-04-12 06:17:20

+0

但是如何粘貼您的解決方案。可能對其他人也有幫助。 – 2012-04-12 06:46:53