2015-12-17 68 views
2

我使用以下代碼創建標記(位圖),如何爲標記添加點擊事件。我使用graphhopper機器人的OSM地圖在android地圖中使用osm標記點擊事件

startMarker = createMarker(startPoint, R.drawable.marker_departure); layers.add(startMarker);

添加使用createMarker方法

public Marker createMarker(LatLong p, int resource) { Drawable drawable = activity.getResources().getDrawable(resource); Bitmap bitmap = AndroidGraphicFactory.convertToBitmap(drawable); return new Marker(p, bitmap, 0, -bitmap.getHeight()/2); }

以及如何添加文本附近提前

回答

2

我用下面的代碼它的工作對我來說

MyMarker frommarker = newMyMarker(activity,newLatLong(fl.latitude,fl.longitude), AndroidGraphicFactory.convertToBitmap(activity.getResources().getDrawable(R.drawable.marker_departure)), 0, 0); 
mapView.getLayerManager().getLayers().add(frommarker); 

和mymarker類

public class MyMarker extends Marker { 
 
     private Context ctx; 
 
    
 
     
 
     public MyMarker(Context ctx, LatLong latLong, Bitmap bitmap, int horizontalOffset, 
 
         int verticalOffset) { 
 

 
      super(latLong, bitmap, horizontalOffset, verticalOffset); 
 
      this.ctx = ctx; 
 
     } 
 

 

 
     @Override 
 
     public boolean onTap(LatLong tapLatLong, Point layerXY, Point tapXY) { 
 
      if (this.contains(layerXY, tapXY)) { 
 
} 
 
}

+0

怎麼你得到的MapView對象? –

1

嘗試用

感謝標記這可能會對此有幫助。

layers.setOnMarkerClickListener(new OnMarkerClickListener() 
       { 

        @Override 
        public boolean onMarkerClick(Marker arg0) { 
         //Your stuff 

       }); 
相關問題