| |
---|
| | import androidx.lifecycle.ViewModel; |
---|
| | |
---|
| | import com.example.nemophila.entities.Shop; |
---|
| | import com.example.nemophila.resources.ShopsRest; |
---|
| | import com.google.android.gms.maps.model.Marker; |
---|
| | |
---|
| | import java.util.ArrayList; |
---|
| | import java.util.Collection; |
---|
| | import java.util.HashMap; |
---|
| | |
---|
| | import retrofit2.Call; |
---|
| | import retrofit2.Callback; |
---|
| | import retrofit2.Response; |
---|
| |
---|
| | public class ShopsViewModel extends TimerViewModel { |
---|
| | // フィールド |
---|
| | final private ShopsRest shopsRest; |
---|
| | final private Retrofit retrofit; |
---|
| | private double ux; |
---|
| | private double uy; |
---|
| | private double lx; |
---|
| | private double ly; |
---|
| | private double ux; // 画面の右上の経度 |
---|
| | private double uy; // 画面の右上の緯度 |
---|
| | private double lx; // 画面の左下の経度 |
---|
| | private double ly; // 画面の左下の緯度 |
---|
| | private HashMap<Shop, Marker> ShopToMarker; // 店と地図上のピンを紐づける |
---|
| | |
---|
| | // 更新比較用 |
---|
| | private Collection<Shop> shopsPreData; |
---|
| | |
---|
| |
---|
| | |
---|
| | updateShops(); |
---|
| | } |
---|
| | |
---|
| | // サーバーと通信を行い、ライブデータを更新する |
---|
| | public void updateShops() { |
---|
| | // 画面内に収まる範囲の店舗を取得する |
---|
| | Call<Collection<Shop>> call = shopsRest.getShops(ux, uy, lx, ly); |
---|
| | |
---|
| |
---|
| | System.out.println(t); |
---|
| | } |
---|
| | }); |
---|
| | } |
---|
| | |
---|
| | // ShopToMarkerに新しく店と地図上のピンを紐づける |
---|
| | public void setShopAndMarker(Shop shop, Marker marker) { |
---|
| | ShopToMarker.put(shop, marker); |
---|
| | } |
---|
| | |
---|
| | // 店に紐づいたピンを返す |
---|
| | public Marker getMarker(Shop shop) { |
---|
| | return ShopToMarker.get(shop); |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | |