Я пытаюсь использовать Retrofit 2.1.0 Обновление с 1.9.0 В ответ я не могу запустить маркеры, которые я хочу нанести на карту. On Retrofit 1.9.0 работает отлично, но хочет использовать обновленную систему.Застрял со списком и retrofit2 и foreach
Retrofit adapter = new Retrofit.Builder()
.baseUrl(AppConfig.URL_PINS)
.addConverterFactory(GsonConverterFactory.create())
.build();
MapPinsApiInterface pinsApiInterface = adapter.create(MapPinsApiInterface.class);
Call<List<MapPins>> pins = (Call<List<MapPins>>) pinsApiInterface.getStreams();
pins.enqueue(new Callback<List<MapPins>>() {
@Override
public void onResponse(Call<List<MapPins>> pins, Response<List<MapPins>> response) {
if (!isAdded() || pins == null)
return;
int numMarkersInRainbow[] = {
R.mipmap.homecenter,
R.mipmap.shop,
R.mipmap.marksilv,
R.mipmap.markgold,
R.mipmap.markgreen,
R.mipmap.markoran,
R.mipmap.itsyou,
R.mipmap.no_gps
};
bounds = new LatLngBounds.Builder();
for (MapPins pin : pins) { <***** Here is my error ***>
MarkerOptions options = new MarkerOptions().position(new LatLng(pin.getLatitude(), pin.getLongitude()));
options.title(pin.getName());
options.snippet(pin.getDepth());
options.icon(BitmapDescriptorFactory.fromResource(numMarkersInRainbow[pin.getMarker()]));
Marker mkr = googleMap.addMarker(options);
mMarkers.put(mkr.getId(), pin.getSiteid());
bounds.include(new LatLng(pin.getLatitude(), pin.getLongitude()));
}
}
В строке: (MapPins pin : pins) {
Я получаю сообщение об ошибке
для каждого не применяется к типу '' retrofit2.call
Я уверен, что я что-то с видом , Что мне не хватает?
Большое спасибо, что он работает сейчас. – Charley57