2011-03-01 72 views
0

我正在尝试在叠加图像旁边添加文本标签。到目前为止,我能看到做到这一点的唯一方法是使用绘制方法并将文本绘制为叠加。我这样做了,但不知何故,它没有显示我绘制的文字。我的代码如下所示:无法将文字作为叠加层绘制到地图上

SitesOverlay that extends ItemizedOverlay<OverlayItem> 
    public void draw(Canvas canvas, MapView mapView,boolean shadow) { 
    int i; 
    Paint paint=new Paint(); 
    paint.setStrokeWidth(1); 
    paint.setARGB(255, 255, 255, 255); 
    paint.setStyle(Paint.Style.STROKE); 
    super.draw(canvas, mapView, shadow); 
    boundCenterBottom(station); 
    canvas.drawText("hullo",28632877,77219722, paint); 
    } 

我在SitesOverlay类的构造函数只是增加了图像到许多不同的GeoPoints。 现在,在我的OnCreate我有这样一段代码:

map.getOverlays().add(new SitesOverlay(station)); 

这是添加图像的列表在我的构造 - SitesOverlay(站)的覆盖。
我的问题是,因为我在SitesOverlay类的Draw方法中添加了我的文本,而不是在此构造函数中,所以这是为什么文本没有在地图上绘制?如果是这样,我如何将文本添加到地图?

draw()方法中绘制的东西是否会自动添加为覆盖图?因为我认为多数民众赞成在这里是什么原因导致问题... 任何其他方式,我可以添加我的覆盖图像旁边的文本标签?
plz帮助...

回答

0

试试这个..

MyLocationOverlay myTouchOverlay = new MyLocationOverlay(); 
List<Overlay> list1 = myMapView.getOverlays(); 
list1.add(myTouchOverlay); 



class MyLocationOverlay extends com.google.android.maps.Overlay { 


@Override 
    public boolean onTap(GeoPoint p, MapView mapView) { 
    } 

    @Override 
    public boolean draw(Canvas canvas, MapView mapView, boolean shadow, 
      long when) { 

     super.draw(canvas, mapView, shadow); 

     Paint paint = new Paint(); 
     // Converts lat/lng-Point to OUR coordinates on the screen. 
     Point myScreenCoords = new Point(); 

     mapView.getProjection().toPixels(point, myScreenCoords); 
     paint.setStrokeWidth(1); 
     paint.setARGB(255, 255, 255, 255); 
     paint.setStyle(Paint.Style.STROKE); 

     paint.setTextSize(20); 
     paint.setColor(Color.RED); 
     paint.setStrokeWidth(2); 


     canvas.drawText("Here I am...", myScreenCoords.x-10,myScreenCoords.y-48, paint); 
     return true; 
    } 
} 
+0

嗯......我不明白这一点,我所做的有什么区别。即使我有我的画图方法我的canvas.drawText ...没有工作... – Urban 2011-03-01 12:15:23

+0

只是尝试这段代码。如果它不起作用,然后删除。 – 2011-03-01 12:18:35

+0

我使用的是与在你的代码中写的相同的东西...并且它不工作...我也使用了drawtext,但屏幕上没有任何东西.. – Urban 2011-03-01 12:21:03

相关问题