2

マップにポイントを追加する方法を知っています。

private void addMarkertoMap() {

        LatLng MarkerPos = new LatLng (24.803751, 1.479969);

        googlemap.addMarker(new MarkerOptions()

        .icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_ROSE))
        .position(MarkerPos)
        );

しかし、ポイントが多く(数百)、GMLまたはKMLファイルからそれらを表示したい場合はどうなりますか?Google Maps Android APIで可能ですか?何か助けはありますか?

ありがとう!

4

2 に答える 2

6

画面に現在表示されているマーカーだけを追加することもできます(ただし、画面に追加したマーカーを追跡して、何度も追加しないようにする必要があることに注意してください。表示されなくなったものを削除するには)

mMap.setOnCameraChangeListener(new OnCameraChangeListener() {
   @Override
   public void onCameraChange(CameraPosition position) {
      final LatLngBounds screenBounds = mMapView.getProjection().getVisibleRegion().latLngBounds;
      for (YourPoint point : mPoints) {
         if (screenBounds.contains(point.getLatLng()) {
            mMapView.addMarker(point.getLatLng());
         }
      } 
   }
}
于 2013-02-12T14:15:54.630 に答える
0

あなたの質問への答え:はい、それは可能です。

for (int i = 0; i < 10; i++) { addMarker(/* Something*/); } 

さて、考える時が来たのかもしれません。本当に何百ものポイントを地図上に表示する必要がありますか?たぶん、あなたは20の最も近いポイント、または30のより関連性のあるポイントしか表示できませんでした...

私たちがあなたの欲しいものに答えて理解できるように、あなたの質問を再定義してください。

あなたが何を望んでいて、どこに問題があるのか​​を理解するのは非常に難しいです。

于 2013-02-11T23:08:44.523 に答える