もう一度、私は先人の知恵を求めます...
Google マップを使用し、Web から読み取ったファイルのステータス情報に基づいてプログラムでマーカーをマップに配置する Android アプリに取り組んでいます。
私が抱えている問題は、各マーカーが 2 回描画されることです。1 回は正しい位置に、もう 1 回は少し下に移動します (2 番目のマーカーの上部の線は最初のマーカーの下部と一致します)。
private class SitesOverlay extends ItemizedOverlay<OverlayItem> {
private List<OverlayItem> items=new ArrayList<OverlayItem>();
private Drawable marker=null;
public SitesOverlay(Drawable marker) {
super(marker);
this.marker=marker;
try {
data = getData();
} catch (MalformedURLException e) {
//
}
if (!data.equals("")) {
String[] msg = data.split(NEWLINE);
for (Integer i = 0; i < msg.length; i++) {
items.add(new OverlayItem(
getPoint(lat.get(suburb), lng.get(suburb)),
msg[i], msg[i]));
}
}
populate();
map.postInvalidate();
}
@Override
protected OverlayItem createItem(int i) {
return(items.get(i));
}
@Override
public void draw(Canvas canvas, MapView mapView,
boolean shadow) {
super.draw(canvas, mapView, false);
//boundCenterBottom(marker);
}
@Override
protected boolean onTap(int i) {
Toast.makeText(getBaseContext(),
items.get(i).getSnippet(),
Toast.LENGTH_LONG).show();
map.getController().setZoom(16 + zoomModifier);
return(true);
}
@Override
public int size() {
return(items.size());
}
}
ただし、2 番目のマーカーは、描画関数で boundCenterBottom(marker) のコメントを外した場合にのみ明らかになります。
私は何日もの間、2番目のマーカーを配置しているものを試してみました. 誰かが私を正しい方向に向けることができますか?
ありがとう
編集:画面に触れると、boundCenterBottomではないマーカーが消えることを忘れていました。