名前の追加(scrollView)に成功。今度は名前と緯度経度別々にして、問題なくマップが見れるようにする
This commit is contained in:
oKikuti 2024-07-02 20:56:34 +09:00
parent 7e9b9eb751
commit 9dec1476e1
2 changed files with 32 additions and 8 deletions

View File

@ -7,6 +7,8 @@ import android.webkit.WebSettings;
import android.webkit.WebView; import android.webkit.WebView;
import android.webkit.WebViewClient; import android.webkit.WebViewClient;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentActivity;
@ -15,6 +17,7 @@ import com.example.oplogy.databinding.MapsBinding;
public class Maps extends FragmentActivity implements View.OnClickListener { public class Maps extends FragmentActivity implements View.OnClickListener {
private WebView webView; private WebView webView;
private LinearLayout locationsName;
ImageView backMain; ImageView backMain;
private MapsBinding binding; private MapsBinding binding;
@ -29,12 +32,13 @@ public class Maps extends FragmentActivity implements View.OnClickListener {
backMain.setOnClickListener(this); backMain.setOnClickListener(this);
webView = findViewById(R.id.webView); webView = findViewById(R.id.webView);
locationsName = findViewById(R.id.locationsName);
WebSettings webSettings = webView.getSettings(); WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true); webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient()); webView.setWebViewClient(new WebViewClient());
// ここにデータを入れておいてください処理は[/]で区切っています(緯度と経度で入れているのでそこで一度試してください // ここにデータを入れておいてください処理は[/]で区切っています(緯度と経度で入れているのでそこで一度試してください)
loadMapInWebView("35.09050879999539,136.87845379325216/35.091950716938875, 136.8826598363985/35.09273643623442, 136.88154941341296"); loadMapInWebView("35.09050879999539,136.87845379325216,名古屋港水族館/35.091950716938875,136.8826598363985,2番目/35.09273643623442,136.88154941341296,3番目");
} }
// WebViewの処理ですMapの中の処理をやっています // WebViewの処理ですMapの中の処理をやっています
@ -42,7 +46,15 @@ public class Maps extends FragmentActivity implements View.OnClickListener {
// 区切ることで追加の地点を入れて最終地点にピンを打ってある状態です // 区切ることで追加の地点を入れて最終地点にピンを打ってある状態です
String[] locArray = locations.split("/"); String[] locArray = locations.split("/");
// URLで経路案内での表示をしています // 各地点の名前をScrollViewに表示
for (String loc : locArray) {
String[] parts = loc.split(",");
if (parts.length == 3) {
addLocationToScrollView(parts[2]);
}
}
// URLで経路案内での表示をしています
StringBuilder urlBuilder = new StringBuilder("https://www.google.com/maps/dir/?api=1&travelmode=driving"); StringBuilder urlBuilder = new StringBuilder("https://www.google.com/maps/dir/?api=1&travelmode=driving");
if (locArray.length > 0) { if (locArray.length > 0) {
@ -66,6 +78,14 @@ public class Maps extends FragmentActivity implements View.OnClickListener {
webView.loadUrl(urlBuilder.toString()); webView.loadUrl(urlBuilder.toString());
} }
private void addLocationToScrollView(String locationName) {
TextView textView = new TextView(this);
textView.setText(locationName);
textView.setTextSize(16);
textView.setPadding(16, 16, 16, 16);
locationsName.addView(textView);
}
@Override @Override
public void onClick(View view) { public void onClick(View view) {
if (view == backMain) { if (view == backMain) {

View File

@ -31,7 +31,6 @@
android:textSize="40dp" /> android:textSize="40dp" />
</LinearLayout> </LinearLayout>
<!-- Webの処理 -->
<WebView <WebView
android:id="@+id/webView" android:id="@+id/webView"
android:layout_width="match_parent" android:layout_width="match_parent"
@ -42,6 +41,11 @@
android:id="@+id/scrollable" android:id="@+id/scrollable"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_weight="3" /> android:layout_weight="3">
<LinearLayout
android:id="@+id/locationsName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</ScrollView>
</LinearLayout> </LinearLayout>