質問編集履歴

4

更新がなぜか反映されてなかったので修正

2016/10/29 08:10

投稿

effy
effy

スコア7

test CHANGED
File without changes
test CHANGED
@@ -96,7 +96,7 @@
96
96
 
97
97
  ネットで調べても参考になるものがなかったので、
98
98
 
99
- 見にくいとは思いますが一応完成したコードを載せておきます。
99
+ 稚拙とは思いますが一応完成したコードを載せておきます。
100
100
 
101
101
 
102
102
 
@@ -114,6 +114,24 @@
114
114
 
115
115
  ```
116
116
 
117
+ // マーカーの追加
118
+
119
+ private void setMarker() {
120
+
121
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***))); // id = m0
122
+
123
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***))); // id = m1
124
+
125
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***))); // id = m2
126
+
127
+ //この文が20個くらい
128
+
129
+ }
130
+
131
+
132
+
133
+ // マーカータップ時のイベント
134
+
117
135
  @Override
118
136
 
119
137
  public boolean onMarkerClick(Marker marker) {
@@ -122,7 +140,7 @@
122
140
 
123
141
  if (id.equals("m0")) {
124
142
 
125
- Intent intent = new Intent(getApplication(), subActivity.class);
143
+ Intent intent = new Intent(getApplication(), SubActivity.class);
126
144
 
127
145
  intent.putExtra("DATA_ID", id);
128
146
 
@@ -132,16 +150,30 @@
132
150
 
133
151
  else if (id.equals("m1")) {
134
152
 
153
+ Intent intent = new Intent(getApplication(), SubActivity.class);
154
+
155
+ intent.putExtra("DATA_ID", id);
156
+
135
- ~~~
157
+ startActivity(intent);
136
158
 
137
159
  }
138
160
 
139
161
  ~~~
140
162
 
163
+ return false;
164
+
141
165
  }
142
166
 
143
167
  ```
144
168
 
145
- 後はputExtra()で送られた"DATA_ID"を、subActivity内でgetIntent()で受け取り、
169
+ 後はputExtraで送られた"DATA_ID"を、SubActivity内で
146
170
 
171
+ ```
172
+
173
+ Intent intent = getIntent();
174
+
175
+ String Sub_DATA_ID = intent.getStringExtra("DATA_ID");
176
+
177
+ ```
178
+
147
- if文で分岐させて情報を表示させることが出来ました。
179
+ で受け取り、if文で分岐させてマーカー別に情報を表示させることが出来ました。

3

解決法の加筆

2016/10/29 08:10

投稿

effy
effy

スコア7

test CHANGED
File without changes
test CHANGED
@@ -80,8 +80,68 @@
80
80
 
81
81
 
82
82
 
83
+ ###
84
+
85
+ 追記:
86
+
87
+ ご回答ありがとうございます。説明に不足があったので加筆修正。
83
88
 
84
89
 
85
- 追記:10/27 20:00
86
90
 
91
+
92
+
93
+ 追記:
94
+
87
- ご回答ありがとうございま説明に不足があっので加筆修正
95
+ ご回答ありがとうございましたお陰様でなんとか出来ました。
96
+
97
+ ネットで調べても参考になるものがなかったので、
98
+
99
+ 見にくいとは思いますが一応完成したコードを載せておきます。
100
+
101
+
102
+
103
+ getId()で取得した各マーカーのIDがわからなかったので
104
+
105
+ クリックリスナーでIDをトーストで表示させた所、
106
+
107
+ マーカーの追加順に"m0","m1","m2".........
108
+
109
+ と識別されていることがわかりました。
110
+
111
+ そこで、上記のマーカー追加部分はそのままに、
112
+
113
+ マーカークリックリスナーを下記のように変更しました。(~~部分は省略)
114
+
115
+ ```
116
+
117
+ @Override
118
+
119
+ public boolean onMarkerClick(Marker marker) {
120
+
121
+ String id = marker.getId();
122
+
123
+ if (id.equals("m0")) {
124
+
125
+ Intent intent = new Intent(getApplication(), subActivity.class);
126
+
127
+ intent.putExtra("DATA_ID", id);
128
+
129
+ startActivity(intent);
130
+
131
+ }
132
+
133
+ else if (id.equals("m1")) {
134
+
135
+ ~~~
136
+
137
+ }
138
+
139
+ ~~~
140
+
141
+ }
142
+
143
+ ```
144
+
145
+ 後はputExtra()で送られた"DATA_ID"を、subActivity内でgetIntent()で受け取り、
146
+
147
+ if文で分岐させて情報を表示させることが出来ました。

2

加筆修正

2016/10/28 19:58

投稿

effy
effy

スコア7

test CHANGED
File without changes
test CHANGED
@@ -82,6 +82,6 @@
82
82
 
83
83
 
84
84
 
85
- 追記:
85
+ 追記:10/27 20:00
86
86
 
87
- 10/27 20:00 説明不足ったので加筆修正。
87
+ ご回答ありがとうございます。説明不足があったので加筆修正。

1

説明不足だったので加筆修正

2016/10/27 11:15

投稿

effy
effy

スコア7

test CHANGED
File without changes
test CHANGED
@@ -12,9 +12,15 @@
12
12
 
13
13
 
14
14
 
15
+ 現在、複数のマーカーの識別が出来ない状態でして、自力で調べても分からず質問させていただきました。
16
+
17
+
18
+
15
19
  情報というのが、画像、ボタン、テキストを表示する、マップとは別のActivityを予定しており、
16
20
 
17
- マーカーにタイトルスニペットを追加して別々の情報を表示することは今回考えておりません。
21
+ マーカーにtitlesnippetを追加してinfowindowを表示することは今回考えておりません。
22
+
23
+ infowindow内に画像やボタンが設置できればよかったのですが出来ませんでした。
18
24
 
19
25
 
20
26
 
@@ -32,6 +38,50 @@
32
38
 
33
39
 
34
40
 
41
+ 下記が現在のMainActivity内のマーカー作成と画面遷移の部分のコードです。
42
+
43
+ コード内のSubActivityが画面遷移先になります。
44
+
45
+ ```
46
+
47
+ // マーカーの追加
48
+
49
+ private void setMarker() {
50
+
51
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***)));
52
+
53
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***)));
54
+
55
+ map.addMarker(new MarkerOptions().position(new LatLng(***,***)));
56
+
57
+ //この文が20個くらい
58
+
59
+ }
35
60
 
36
61
 
62
+
63
+ // マーカータップ時のイベント
64
+
65
+ @Override
66
+
67
+ public boolean onMarkerClick(Marker marker) {
68
+
69
+ Intent intent = new Intent(getApplication(), SubActivity.class);
70
+
71
+ startActivity(intent);
72
+
73
+ return false;
74
+
75
+ }
76
+
77
+ ```
78
+
37
79
  改めて、複数のマーカーを識別する方法をよろしくお願いします。
80
+
81
+
82
+
83
+
84
+
85
+ 追記:
86
+
87
+ 10/27 20:00 説明不足だったので加筆修正。