2016-11-14 4 views
0

ここで私は地図上のマーカーを追加してい返す:一覧<ViewObject>リストは、常にリストのサイズ()=ここで1マップ

hereMap.addMapObject(new MapMarker(new GeoCoordinate(lat,lng), myImage) 
     .setTitle("marker"+geoCounter) 
     .setDescription(" \nLatitude :" +lati+ "\nLongitude : "+ lng)); 

緯度LNGの配列リストと緯度のLNGを追加することが、を、私はの助けを借りてマーカーを追加するとき:

@Override 
public void onLocationChanged(Location location) {...} 

List<ViewObject>リストには、追加されたマーカーの正確なサイズが表示されます。この場合

は、私は緯度長い取得:ここ

location.getLatitude() 
location.getLongitude() 

は、地図上のマップマーカーは、以下のとおりです。

ここ

Image1

私はこのようなサイズを取得:

Image2

+0

ショー 'onLocationChanged'方法コードともLAT LNGコードの配列リスト。 –

答えて

1

と表示されます。

public abstract boolean onMapObjectsSelected (java.util.List <ViewObject> objects) 

ユーザーがマップをタップした結果、少なくとも1つのViewObjectが選択されたことを示すコールバック。だからobjectsはのマーカーが選択されています。マップ上のすべてのマーカーにアクセスするにはthis回答のように、addMarker()を呼び出した後に、得られたマーカーオブジェクトを選択したコレクション(たとえばArrayList<MapMarker>)に保存する必要があります。例えば:

ArrayList<MapMarker> mMarkersList = new ArrayList(); 
... 
MapMarker marker = new MapMarker(new GeoCoordinate(lat,lng), myImage) 
      .setTitle("marker"+geoCounter) 
      .setDescription(" \nLatitude :" +lati+ "\nLongitude : "+ lng) 
mMarkersList.add(marker); 
hereMap.addMapObject(marker); 

次いでmMarkersListからそれを得る:

MapMarker marker = mMarkersList.get(<number_of_marker>) 
+0

@ Andriy Omelechenko .......................この場合、GeoCoordinateのarrayListのマップマーカーヘルプを追加していますが、マップマーカーを追加するときには public void onLocationChanged(Location location){...}地図マーカの正しいサイズ()を与えてください。どちらの場合にもマップマーカがマップ上に追加されますが、リストのsize()は異なっています。 – kushal

+0

"listのsize()は異なっています" - なぜ起こるのか分かりませんが、自分でマーカーをコントロールすると(リストを介して)問題を解決できます。 –

関連する問題