質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

Q&A

0回答

996閲覧

Android Studio Map 接続について

MM_LL

総合スコア18

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Kotlin

Kotlinは、ジェットブレインズ社のアンドリー・ブレスラフ、ドミトリー・ジェメロフが開発した、 静的型付けのオブジェクト指向プログラミング言語です。

Android NDK

Android NDKとは、Android SDKと対を成すツールです。ネイティブコードのアプリ、またはC/C++言語の既存のポートライブラリでパフォーマンスクリティカルな部分を構築できます。ヘッダ、ライブラリを提供して、アクティビティやユーザ入力処理などを構築できます。

0グッド

0クリップ

投稿2021/12/09 11:27

編集2021/12/11 17:36
<LinearLayout android:id="@+id/linearLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"> <EditText android:id="@+id/et" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:ems="10" android:hint="入力" android:inputType="textPersonName" /> <Button android:id="@+id/btMap1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="btMap1" android:text="検索" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="681dp" android:orientation="horizontal" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/linearLayout"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:text="現在地" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:text="緯度:" /> <TextView android:id="@+id/tvMap1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_weight="0.5" android:maxLines="1"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="経度:" /> <TextView android:id="@+id/tvMap2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.5" android:maxLines="1"/> <Button android:id="@+id/btMap2" android:layout_width="72dp" android:layout_height="wrap_content" android:layout_weight="1" android:onClick="btMap2" android:text="地図表示" /> </LinearLayout> ``````ここに言語を入力 package com.test.mapapp import android.Manifest import android.content.Context import android.content.Intent import android.content.pm.PackageManager import android.location.LocationManager import android.net.Uri import android.os.Bundle import android.view.View import android.widget.EditText import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.core.app.ActivityCompat import com.google.android.gms.location.* import java.net.URLEncoder class MainActivity : AppCompatActivity() { private var _latitude = 0.0 private var _longitude = 0.0 private lateinit var _fusedLocationClient: FusedLocationProviderClient private lateinit var _locationRequest: LocationRequest private lateinit var _onUpdateLocation: OnUpdateLocation override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) _fusedLocationClient = LocationServices.getFusedLocationProviderClient(this@MainActivity) _locationRequest = LocationRequest.create() _locationRequest?.let { it.interval = 5000 it.fastestInterval = 1000 it.priority = LocationRequest.PRIORITY_HIGH_ACCURACY } _onUpdateLocation = OnUpdateLocation() } override fun onResume() { super.onResume() if(ActivityCompat.checkSelfPermission(this@MainActivity, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED) { val permissions = arrayOf(Manifest.permission.ACCESS_FINE_LOCATION) ActivityCompat.requestPermissions(this@MainActivity, permissions, 1000) return } _fusedLocationClient.requestLocationUpdates(_locationRequest, _onUpdateLocation, mainLooper) } override fun onPause() { super.onPause() _fusedLocationClient.removeLocationUpdates(_onUpdateLocation) } fun btMap1 (view: View) { val et = findViewById<EditText>(R.id.et) var searchWord = et.text.toString() searchWord = URLEncoder.encode(searchWord, "UTF-8") val uriStr = "geo:0,0?q=${searchWord}" val uri = Uri.parse(uriStr) val intent = Intent(Intent.ACTION_VIEW, uri) startActivity(intent) } fun btMap2(view: View) { val uriStr ="geo:${_latitude},${_longitude}" val uri = Uri.parse(uriStr) val intent = Intent(Intent.ACTION_VIEW,uri) startActivity(intent) } private inner class OnUpdateLocation : LocationCallback() { override fun onLocationResult(locationResult: LocationResult?) { locationResult?.let { val location = it.lastLocation location?.let { _latitude = it.latitude _longitude = it.longitude val tvMap1:TextView =findViewById(R.id.tvMap1) val tvMap2:TextView =findViewById(R.id.tvMap2) tvMap1.text = _latitude.toString() tvMap2.text = _longitude.toString() } } } } } ```![イメージ説明](072006b6c7c6de4ba6276ebc6f04991e.png) Mapアプリを作成にあたり、不明点がありご回答いただきたいです。 画像から分かる通り、インターネット接続が上手く出来てません。 解決策を教えていただきたいです。  検索の欄に東京と入力し、検索をかけると画面のようになっていしまいます。 【基本情報】 ・開発環境 Android Studio ・Kotlin ・Windows10 【接続環境】 AndroidMaifest.xml <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> 【位置情報ライブラリ】 Google Play Service Artifact Name play-service-location 18.0.0(最新) をインストール、追加済みです。 MainActivity含め、出ているErrorはございません。 不備が分からず、試行錯誤しましたが分からずにいます。 ご回答いただけたら嬉しいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/12/09 16:00

<uses-permission android:name="android.permission.INTERNET" /> も必要かも? あと、エミュレータの中のブラウザとかはネット繋がりますか?
MM_LL

2021/12/10 08:55

ご回答ありがとうございます。 <uses-permission android:name="android.permission.INTERNET" />  を、ご指摘の通り追加しましたが、変わらず同じ表示が出てしまいました。 ブラウザは、正常に検索出来、ネットに接続は問題なさそうでした。 お手数かけますが、また気になるところがあれば教えていただきたいです。 よろしくお願いします。
hoshi-takanori

2021/12/10 09:15

エミュレータのシステムイメージは何をお使いですか? Google Play 入りのが必要だったかも…。
jimbe

2021/12/11 06:00 編集

原因を調べるためこちらでも同じ状況を再現したいのですが、どのようなコードを実行すれば良いのでしょうか? 作成と言われる Map アプリ、検索の欄、MainActivity 等と言われても、何の事だかさっぱり分かりません。
MM_LL

2021/12/11 12:24

hoshi-takanori様 ご回答ありがとうございます。 システムイメージについて知見が無いんですが、エミュレーターの実機は、 【Pixel 5 API 31】 Target【Android 12.0(Google APIs)】になっております。 また、システムイメージの確認の仕方が違いましたら、併せてご回答いただけたら嬉しいです。 よろしくお願いします。
MM_LL

2021/12/11 12:26

jimbe様 ご回答ありがとうございます。 MainActivity 追加させていただきました。 ご丁寧にありがとうございます。 よろしくお願いします。
jimbe

2021/12/11 14:08

ありがとうございます。 こちらコードは仰る通り kotlin ですね。 java ではありませんので、 java のタグは外して頂いたほうが良いかと思います。 Android Studio をお使いということですが、プロジェクト作成の際に Google Maps Activity を選んで、ご提示頂いたコードをコピペすれば宜しいでしょうか。 また、その他としまして、 AndroidMaifest に uses-permission を 2 つ (と hoshi-takanori ご指摘の INTERNET ) 追加し、位置情報ライブラリを Gradle に設定すれば MM_LL さんの環境と同じとなる(はず)でしょうか。
MM_LL

2021/12/11 14:47

ご指摘ありがとうございます。 プロジェクトは、【Empty Activity】になります。 それ以外は、文面通りになります。 お手数ですが、よろしくお願いします。
jimbe

2021/12/11 15:06 編集

レイアウトはどうなっているでしょうか。 et や tvMap1, tvMap2 でエラーとなり、 btMap1 btMap2 メソッドは灰色になっています。
MM_LL

2021/12/11 17:37

XML追加しました。 ご確認よろしくお願いします。
jimbe

2021/12/12 04:18 編集

ありがとうございます。 ただ、xml であれば <?xml version="1.0" encoding="utf-8"?> が最初にあるはずですが、それが無いということは一部でしょうか。 出来ればファイル全文をお願いできますでしょうか。 また、コードの方が枠に囲まれなくなりました。マークダウンの ``` は、それだけの行として書いて頂く必要があります。 ```xml <?xml version="1.0" encoding="utf-8"?> ~ ``` ```kotlin package com.test.mapapp ~ ``` ![イメージ説明](~) といった感じです。
jimbe

2021/12/12 04:37 編集

Empty Activity で作成されるレイアウト activity_main.xml の "Hello World" の TextView をご提示頂いたレイアウトに置き換えましたら、動作致しました。 入力欄に「tokyo」と入れ、検索ボタンを押すと、ご質問のような「オフラインのようです」は出ず、「location を許可するか?」といったダイアログが出て、「今回のみ」を選択すると、23区が中央に配置されたマップが表示されました。 (緯度経度に何か数値が出ていますが、その右にある地図表示ボタンを押すと、Googleplex というのが中央にある、どこだか分からない地図が表示されました^^; ) エミュレータは新しく Pixel 5, Android 12.0(Google APIs) で作りました。 INTERNETの パーミッションは入れていません。 play-service-location は 19.0.0 が最新のようでしたが、 19.0.0 では「 LocationCallback.onLocationResult が override 出来ない」とエラーになりましたので 18.0.0 にしました。 エミュレータを作り直してみては如何でしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問