質問編集履歴
1
コードの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,6 +7,9 @@
|
|
7
7
|
|
8
8
|
コードについては、下記のように実装したいと考えております。
|
9
9
|
ヒントや、こうしたら実装できるかも?などなどなんでもいいので何か助言いただければ嬉しいです。
|
10
|
+
|
11
|
+
*下記編集した部分となります。
|
12
|
+
意図としましては、DBに何も保存されていない場合は、Mapに東京周辺を表示させる、保存されている場合はMap上にマーカーを表示させ、マーカー周辺のMapを表示させるという動作を実現させたいと思っています。
|
10
13
|
|
11
14
|
```ここに言語を入力
|
12
15
|
class Memo_dash : AppCompatActivity(), OnMapReadyCallback {
|
@@ -33,32 +36,17 @@
|
|
33
36
|
|
34
37
|
override fun onMapReady(googleMap: GoogleMap) {
|
35
38
|
|
39
|
+
mMap = googleMap
|
36
40
|
val helper = DBHelper(this)
|
37
|
-
val m
|
41
|
+
val mapsId: Long = intent.getLongExtra("id",0)
|
38
|
-
↓座標を入れる箱を用意?
|
39
|
-
var lat : Double? = null
|
40
|
-
var long : Double? = null
|
41
42
|
|
42
|
-
mMap = googleMap
|
43
|
-
|
44
|
-
// 現在はActivityを開いた際に下記座標に移動する設定となってます。
|
45
|
-
val tokyo = LatLng(35.68, 139.76)
|
46
|
-
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(tokyo, 10F))
|
47
|
-
|
48
|
-
// タップでマーカーを追加
|
49
|
-
mMap.setOnMapClickListener { latlng ->
|
50
|
-
val location = LatLng(latlng.latitude, latlng.longitude)
|
51
|
-
mMap.addMarker(MarkerOptions().position(location))
|
52
|
-
}
|
53
|
-
|
54
|
-
|
55
|
-
if (m
|
43
|
+
if (mapsId != 0L) {
|
56
44
|
helper.readableDatabase.use { db ->
|
57
45
|
db.query(
|
58
46
|
TABLE_NAME,
|
59
47
|
arrayOf("id", "lat", "long"),
|
60
48
|
"id = ?",
|
61
|
-
arrayOf(m
|
49
|
+
arrayOf(mapsId.toString()),
|
62
50
|
null,
|
63
51
|
null,
|
64
52
|
null,
|
@@ -66,26 +54,33 @@
|
|
66
54
|
)
|
67
55
|
.use { cursor ->
|
68
56
|
if (cursor.moveToFirst()) {
|
57
|
+
val location = LatLng(cursor.getDouble(1),cursor.getDouble(2))
|
69
|
-
|
58
|
+
mMap.addMarker(MarkerOptions().position(location))
|
59
|
+
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(location,10F))
|
70
60
|
}
|
71
61
|
}
|
72
|
-
|
73
62
|
}
|
63
|
+
}else{
|
64
|
+
val tokyo = LatLng(35.68, 139.76)
|
65
|
+
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(tokyo, 10F))
|
74
66
|
}
|
75
67
|
|
68
|
+
// タップした時のリスナーをセット
|
69
|
+
mMap.setOnMapClickListener { latlng1 : LatLng ->
|
76
|
-
|
70
|
+
val location = LatLng(latlng1.latitude, latlng1.longitude)
|
71
|
+
mMap.addMarker(MarkerOptions().position(location))
|
77
72
|
helper.writableDatabase.use {
|
78
73
|
db ->
|
79
74
|
val values = ContentValues().apply {
|
80
|
-
|
75
|
+
put("lat", latlng1.latitude)
|
76
|
+
put("long", latlng1.longitude)
|
81
77
|
}
|
82
|
-
if (m
|
78
|
+
if (mapsId != 0L) {
|
83
|
-
db.update(TABLE_NAME, values,"id = ?", arrayOf(m
|
79
|
+
db.update(TABLE_NAME, values,"id = ?", arrayOf(mapsId.toString()))
|
84
80
|
} else {
|
85
81
|
db.insert(TABLE_NAME,null, values)
|
86
82
|
}
|
87
83
|
}
|
88
|
-
finish()
|
89
84
|
}
|
90
85
|
}
|
91
86
|
}
|