2012-04-12 109 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