2

私はアンドロイドのマップのv2バージョンを使用するアプリImの構築にツールをまとめました。マーカーが互いに非常に近い場合、マーカーは互いに重ねて描画されますが、これは問題ではありませんが、少なくとも起こりたいことです最後に描画されたマーカーが一番上に表示されます。

描画された最後のマーカーが残りの上に表示されるようにする方法はありますか、それとも密接にグループ化されたマーカーを表示することになると、システムの意思決定に翻弄されますか.

4

2 に答える 2

3

今のところ、私はちょうど使用することになった

marker.showInfoWindow();

最後に描画されたマーカーが画面上の他のマーカーの一番上に表示されるようにするという、私が望む正確な動作が得られます。

補足として、情報ウィンドウを開きますが、本当にしたい場合は、カスタムレイアウトを設定して、特定の条件下で情報ウィンドウをnullにすることもできますが、私のニーズでは、ウィンドウが開くのは実際にはうまくいきます。

于 2013-04-22T19:42:44.580 に答える
0

James が既に書いたように、InfoWindow を表示することでうまくいきます。

独自のアダプターを使用して、非表示の InfoWindow を「表示」できます。

public class InfoWindowAdapter implements GoogleMap.InfoWindowAdapter{


private final View mWindow;

public InfoWindowAdapter(Activity activity) {
    mWindow = App.activity.getLayoutInflater().inflate(R.layout.custom_info_window,
            null);
}

@Override
public View getInfoContents(Marker mark) {
    return null;
}

@Override
public View getInfoWindow(Marker marker) {
    render(marker, mWindow);
    return mWindow;
}

private void render(Marker marker, View view) {
    //do nothing
}

}

これをマップに設定します。

map.setInfoWindowAdapter(new InfoWindowAdapter(activity));

InfoWindow を表示します。

 currentlySelectedMarker.setSnippet(" ");
 currentlySelectedMarker.setTitle(" ");
 currentlySelectedMarker.showInfoWindow();

setTitle の呼び出しは重要です。それ以外の場合、showInfoWindow() は無視されます。

于 2015-08-21T09:00:13.140 に答える