2016-08-11 9 views
1

私は自分のサーバーから場所の座標を取得しているマップアプリケーションに取り組んでいます。私はサーバーから座標を取得するAPIを呼び出していますmMap .setOnCameraIdleListenerしかし、問題は、私がカメラを動かすたびにAPIが呼び出されていることです。ユーザーがマップカメラをわずかに動かしただけで、同じ位置に何度も同じ位置にマーカーが設定されています。
私は可視領域上のマーカーの数をチェックすることを考えましたが、私は可視領域上のマーカーの数を数える方法を得ていませんか?
以下のコードを使用しましたが、特定のLatLngポイントが可視領域に表示されているかどうかだけを知ることができます。可視領域に表示されたマーカーの数を確認する

public boolean isVisibleOnMap(LatLng latLng) { 
       VisibleRegion vr = mMap.getProjection().getVisibleRegion(); 
       return vr.latLngBounds.contains(latLng); 
     } 

ありがとうございました。

+1

forループを使用してすべてのマーカーを繰り返し表示し、vr.latLngBounds.contains(latLng);を使用してください。これらのマーカーが可視領域に含まれているかどうかを確認します。これはあなたの同じ[質問]の複製です(http://stackoverflow.com/questions/38896671/getting-number-of-markers-of-visible-region-of-google-maps-android) JSで書かれた、ループの使用を提案しました。 – noogui

+0

ありがとうございました –

答えて

3

私は答えとしてこれを掲示しています:

は、すべてのマーカーの上に繰り返すと、これらのマーカーは、可視領域に含まれているかどうかを確認するためにvr.latLngBounds.contains(latLng);を使用してforループを使用してみてください。

関連する問題