2011-11-02 8 views
1

マップオーバーレイに複数のポイントが含まれ、それぞれに番号付きマーカーがあります。ポイントはオーバレイに描かれている順番で表示されます(つまり、マーカー0から10まで - 最新のポイントは10です)。地図が表示されると、緯度が上がる順に点が描画されます。これは、私の場合よりも、ポイント7のマーカがポイント10のマーカの上に描画されることを意味します。マーカがマップ上に配置される順序を制御する方法はありますか?マップオーバーレイのポイントがマップ上に描画される順序を変更することができます

+0

質問を削除して回答として追加することをお勧めしますか(「更新されました!見つけました...」)こうすることで、人々は質問が実際に簡単に答えられたことを知ることができ、質問と回答を別々に投票することもできます。 –

+0

スコット、ありがとう、私は今これをしている - 私は十分な評判を持っていないとして私はそれを育てたとき私は自分の質問に答えることができませんでしたし、それについてすべてを忘れてしまった:( – Richard

+0

クール、今それをやってくれてありがとう! –

答えて

1

私はそれを見つけました - 私は次のコードを追加して動作するようです。これにより、Latitudeの順番ではなく、オーバーレイと同じ順序でアイテムが描画されます。

興味深いことに、異なる注文(たとえば、逆順)を選択した場合、地図には、以前のエントリが後で重ねて表示されたときに表示されるようになります。すなわち、点7は、両方が同じマップ座標を有する場合、点10の上に描画される。しかし、ポイント7として表示されているものをタップすると、onTapメソッドはポイント10のインデックスを返します(おそらくシーケンスで10番目に描画されたため)、混乱を招く可能性があります。次に、表示されるポイントを覚えていて、どのエントリが実際に上にあるかを理解するのはあなた次第です。

@Override 
protected int getIndexToDraw(int drawingOrder) { 
    // Log.d("getIndexToDraw", "drawing order: " + drawingOrder); //just my debug 
    return drawingOrder; // forces order to follow overlay item sequence 
    // return super.getIndexToDraw(drawingOrder); // default code - ie Latitude order 
} 
関連する問題