diff --git a/app/src/google-services.json b/app/src/google-services.json deleted file mode 100644 index cc555ea..0000000 --- a/app/src/google-services.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "project_info": { - "project_number": "317219128586", - "project_id": "oplogy-b6971", - "storage_bucket": "oplogy-b6971.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:317219128586:android:c29583456e8fbd5f12a6f3", - "android_client_info": { - "package_name": "com.example.oplogy" - } - }, - "oauth_client": [], - "api_key": [ - { - "current_key": "AIzaSyDaULi2TFHLiscR7DSZBCKS08d76Rtb49c" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index f968f7b..079704c 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,8 +1,10 @@ + + tools:targetApi="31" > - + + To get one, follow the directions here: - - - - - + https://developers.google.com/maps/documentation/android-sdk/get-api-key + Once you have your API key (it starts with "AIza"), define a new property in your + project's local.properties file (e.g. MAPS_API_KEY=Aiza...), and replace the + "YOUR_API_KEY" string in this file with "${MAPS_API_KEY}". + --> - + android:value="AIzaSyBQ1Ak-I2NL5TP4K59ZI0VgzKk6HNZuusw" /> + @@ -49,16 +54,13 @@ - - - + tools:ignore="DuplicateActivity" > @@ -69,10 +71,3 @@ - - - - - - - diff --git a/app/src/main/java/com/example/oplogy/FirestoreReception.java b/app/src/main/java/com/example/oplogy/FirestoreReception.java index 942409a..f8a71aa 100644 --- a/app/src/main/java/com/example/oplogy/FirestoreReception.java +++ b/app/src/main/java/com/example/oplogy/FirestoreReception.java @@ -20,7 +20,7 @@ public class FirestoreReception { } //ClassIdを引数にデータの作成を行う - public void getDocumentsByClassId(int classId) { + public void getDocumentsByClassId(int classId, MainActivity context) { CollectionReference collectionRef = db.collection("QuestionnaireForms"); // classIdが引数のものを取得する @@ -34,8 +34,8 @@ public class FirestoreReception { Map data = document.getData(); // CreateRootクラスのインスタンスを作成し、dataを引数として渡す - GeoCoding geoCoding = new GeoCoding(); - geoCoding.processData(data); + GeoCoder geoCoder = new GeoCoder(); + geoCoder.processData(data, context); } } else { Log.w("FirestoreReception", "Error getting documents.", task.getException()); diff --git a/app/src/main/java/com/example/oplogy/GeoCoding.java b/app/src/main/java/com/example/oplogy/GeoCoder.java similarity index 60% rename from app/src/main/java/com/example/oplogy/GeoCoding.java rename to app/src/main/java/com/example/oplogy/GeoCoder.java index 7e48c01..76d994a 100644 --- a/app/src/main/java/com/example/oplogy/GeoCoding.java +++ b/app/src/main/java/com/example/oplogy/GeoCoder.java @@ -1,26 +1,25 @@ package com.example.oplogy; +import android.content.Context; +import android.location.Address; +import android.location.Geocoder; import android.util.Log; import com.google.android.gms.maps.model.LatLng; import com.google.firebase.Timestamp; -import com.google.maps.GeoApiContext; -import com.google.maps.GeocodingApi; -import com.google.maps.model.GeocodingResult; -import java.util.Arrays; +import java.io.IOException; import java.util.List; +import java.util.Locale; import java.util.Map; -public class GeoCoding { - private GeoApiContext geoApiContext; - public void processData(Map data) { +public class GeoCoder { + private Context context; + public void processData(Map data, Context context) { try { - // Google Cloud Platformで作成したAPIキーを設定します - geoApiContext = new GeoApiContext.Builder() - .apiKey("AIzaSyBQ1Ak-I2NL5TP4K59ZI0VgzKk6HNZuusw") - .build(); + this.context = context; + //家庭訪問先の住所 List address = (List) data.get("address"); //家庭訪問の第一希望日(配列0が希望時間帯のはじめ、配列1がおわり) @@ -41,18 +40,20 @@ public class GeoCoding { Log.e("NullPointerException", "getの中身がnull" + e); } } + private LatLng geocodeAddress(String address) { try { - Log.d("Geocodingtry", "tryに入った"); - GeocodingResult[] results = GeocodingApi.geocode(geoApiContext, address).await(); - Log.d("GeocodingResult", "Results: " + Arrays.toString(results)); - if (results != null && results.length > 0) { - return new LatLng(results[0].geometry.location.lat, results[0].geometry.location.lng); + Geocoder geocoder = new Geocoder(context, Locale.getDefault()); + List
addresses = geocoder.getFromLocationName(address, 1); + if (addresses != null && !addresses.isEmpty()) { + Address addressResult = addresses.get(0); + double latitude = addressResult.getLatitude(); + double longitude = addressResult.getLongitude(); + return new LatLng(latitude, longitude); } - } catch (Exception e) { + } catch (IOException e) { Log.e("GeocodingException", "Error geocoding address: " + address, e); } return null; } - -} +} \ No newline at end of file diff --git a/app/src/main/java/com/example/oplogy/MainActivity.java b/app/src/main/java/com/example/oplogy/MainActivity.java index 1910263..f8450ea 100644 --- a/app/src/main/java/com/example/oplogy/MainActivity.java +++ b/app/src/main/java/com/example/oplogy/MainActivity.java @@ -19,20 +19,18 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // ID作成のTextViewとImageView private TextView creatUUID; private ImageView imageUuid; - private int previousCreateUUid = 0; //元の画像のインデックス // セットアップのTextViewとImageView private TextView setUp; private ImageView imageSetup; - private int previousSetUp = 0; //元の画像のインデックス // セットアップのTextViewとImageView private TextView root; private ImageView imageRoot; - private int previousRoot = 0; //元の画像のインデックス // 提出状況のTextViewとImageView private TextView submission; + private ImageView imageSubmission; //firestoreの受信関連 private FirebaseFirestore db; @@ -61,12 +59,13 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // 提出状況のインテント submission = findViewById(R.id.submission); submission.setOnClickListener(this); + imageSubmission = findViewById(R.id.imageSubmission); // firestoreの受信関連 db = FirebaseFirestore.getInstance(); firestoreReception = new FirestoreReception(); - firestoreReception.getDocumentsByClassId(100); + firestoreReception.getDocumentsByClassId(100,MainActivity.this); @@ -93,7 +92,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe // ルート作成のクリック処理 if(view == root){ imageRoot.setImageResource(R.drawable.pin); - Intent toRoot = new Intent(MainActivity.this,RootSearchActivity.class); + Intent toRoot = new Intent(MainActivity.this, Map_Activity.class); startActivity(toRoot); } // 提出状況のクリック処理 diff --git a/app/src/main/java/com/example/oplogy/Map_Activity.java b/app/src/main/java/com/example/oplogy/Map_Activity.java new file mode 100644 index 0000000..199aff2 --- /dev/null +++ b/app/src/main/java/com/example/oplogy/Map_Activity.java @@ -0,0 +1,50 @@ +package com.example.oplogy; + +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentManager; +import androidx.fragment.app.FragmentTransaction; + +import android.content.Intent; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; + +import com.google.android.gms.maps.GoogleMap; +import com.google.android.gms.maps.MapFragment; +import com.google.android.gms.maps.OnMapReadyCallback; +import com.google.android.gms.maps.SupportMapFragment; + +public class Map_Activity extends AppCompatActivity implements View.OnClickListener, OnMapReadyCallback { + ImageView toMain; + private GoogleMap mMap; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.map_activity); + + +// ボタンの戻る処理 + toMain = findViewById(R.id.toMain); + toMain.setOnClickListener(this); + } + + @Override + public void onClick(View view) { + if(view == toMain){ + Intent toMain = new Intent(Map_Activity.this,MainActivity.class); + startActivity(toMain); + } + } + @Override + public void onMapReady(@NonNull GoogleMap googleMap) { + mMap = googleMap; + + FragmentManager fragmentManager = getSupportFragmentManager(); + + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/oplogy/Maps.java b/app/src/main/java/com/example/oplogy/Maps.java index 0a35d6a..d470fc0 100644 --- a/app/src/main/java/com/example/oplogy/Maps.java +++ b/app/src/main/java/com/example/oplogy/Maps.java @@ -1,7 +1,6 @@ package com.example.oplogy; import androidx.fragment.app.FragmentActivity; - import android.os.Bundle; import com.google.android.gms.maps.CameraUpdateFactory; @@ -15,14 +14,14 @@ import com.example.oplogy.databinding.MapsBinding; public class Maps extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; - private MapsBinding binding; +private MapsBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - binding = MapsBinding.inflate(getLayoutInflater()); - setContentView(binding.getRoot()); + binding = MapsBinding.inflate(getLayoutInflater()); + setContentView(binding.getRoot()); // Obtain the SupportMapFragment and get notified when the map is ready to be used. SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() diff --git a/app/src/main/res/drawable/back_button.png b/app/src/main/res/drawable/back_button.png new file mode 100644 index 0000000..c54cff3 Binary files /dev/null and b/app/src/main/res/drawable/back_button.png differ diff --git a/app/src/main/res/drawable/submission.png b/app/src/main/res/drawable/submission.png new file mode 100644 index 0000000..94353a9 Binary files /dev/null and b/app/src/main/res/drawable/submission.png differ diff --git a/app/src/main/res/layout/main.xml b/app/src/main/res/layout/main.xml index d227a24..25f6f25 100644 --- a/app/src/main/res/layout/main.xml +++ b/app/src/main/res/layout/main.xml @@ -75,17 +75,18 @@ @@ -104,18 +105,37 @@ + android:layout_weight="3"/> + - + + + + + + diff --git a/app/src/main/res/layout/map_activity.xml b/app/src/main/res/layout/map_activity.xml new file mode 100644 index 0000000..fb4efb8 --- /dev/null +++ b/app/src/main/res/layout/map_activity.xml @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/maps.xml b/app/src/main/res/layout/maps.xml index 519682a..096d691 100644 --- a/app/src/main/res/layout/maps.xml +++ b/app/src/main/res/layout/maps.xml @@ -1,9 +1,9 @@ \ No newline at end of file + android:id="@+id/map" + tools:context=".Maps" + android:name="com.google.android.gms.maps.SupportMapFragment"/> \ No newline at end of file