Я пытаюсь добавить несколько маркеров в GoogleMaps.Я использую Google SupportMapFragment.При загрузке моей карты должно отображаться несколько маркеров, основанных на данных в массиве, однако в нем отображается только один маркер.Я исследовал это, и я увидел этот вопрос на SO, но я не знаю, почему на карте отображается только один маркер.
Обновление Я отладил свой код и понял, что в этой строке
mMap.addMarker(new MarkerOptions().position(position));
передается только одна позиция перед этой строкой, передаются все данные
Вот мой код для того же
@Override
public void onMapReady(GoogleMap googleMap) {
this.mMap = googleMap;
// Add a marker in Sydney, Australia,
// and move the map's camera to the same location.
// LatLng sydney = new LatLng(19.2372, 72.8441);
for(int i=0;i<providers.size();i++){
NearbyDataProvider provider = providers.get(i);
LatLng position = new LatLng(Double.parseDouble(provider.getLattitude())
,Double.parseDouble(provider.getLongitude()));
mMap.addMarker(new MarkerOptions().position(position));
mMap.moveCamera(CameraUpdateFactory.newLatLng(position));
}
}
NearByDataProvider.class
открытый класс NearbyDataProvider {int image;Струнное место;Струнная широта;Строковая долгота;
public NearbyDataProvider(int image, String place, String lattitude, String longitude) {
this.setImage(image);
this.setPlace(place);
this.setLattitude(lattitude);
this.setLongitude(longitude);
}
public int getImage() {
return image;
}
public void setImage(int image) {
this.image = image;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
public String getLattitude() {
return lattitude;
}
public void setLattitude(String lattitude) {
this.lattitude = lattitude;
}
public String getLongitude() {
return longitude;
}
public void setLongitude(String longitude) {
this.longitude = longitude;
} }
LatLong для передачи
private String[] latitude = {"19.2372","19.1998","19.1802","19.1551","19.1405"};
private String[] longitude = {"72.8441","72.8426","72.8554","72.8679","72.8422"};