私はマップ上にマーカーを配置するためにitemizedoverlayを拡張するcustomoverlayを持っています。私の問題は、drawableのboundsがboundCenterBottmおよびboundCenterの値とは異なるようにマーカーを調整したいということです(私の場合は、存在していればboundLeftBottomのようなものが必要です)。これをどのように達成するのですか?私がこれを達成したい理由は、私が左下隅を指すドロアブルを持っているからです。android google mapsのマーカ範囲を変更してください
私はウェブを乾燥させて検索しましたが、どんな助けでも大歓迎です。
左側に透明なスペースを作ることを提案することはできません。私はこれを不適切な回避策とみなします
編集;
私はこれで終わった:それは隅にし、修正するための痛みになります3つの異なるドロウアブルと完璧されていないため、graficに私の問題を解決しませんでしたが、これが正しい
public class CustomOverlay extends ItemizedOverlay<CustomOverlayItem> {
private ArrayList<CustomOverlayItem> mOverlays = new ArrayList<CustomOverlayItem>();
private Context mContext;
public CustomOverlay(Drawable defaultMarker, Context context) {
// super(boundCenterBottom(defaultMarker));
super(defaultMarker);
defaultMarker.setBounds(0, -defaultMarker.getIntrinsicHeight(), defaultMarker.getIntrinsicWidth(), 0); //TODO experiment
mContext = context;
}
(最終的な解決策は私がdrawableを修正することです)。
ここで示唆しているようにDrawableをサブクラス化しようとしましたか? http://stackoverflow.com/questions/5855194/android-custom-drawable-bounds –
CustomOverlayの描画メソッドをオーバーライドし、マーカーの位置を手動で調整して境界を変更することができます。他のオプションは、drawCenterの境界を調整してdrawCenterの中心になるようにboundCenter()などのメソッドを作成することです(「ウェイポイントバッジ」のようなグラフィックには便利です)。 –
両方の良い提案は、それを使用しようとします。 – Warpzit