質問編集履歴

2

追記しました。

2016/11/26 16:19

投稿

1ss411
1ss411

スコア17

test CHANGED
File without changes
test CHANGED
@@ -381,3 +381,7 @@
381
381
  </html>
382
382
 
383
383
  ```
384
+
385
+
386
+
387
+ エラーは、コードがダメと言われているわけではありません。mapが表示できないということです。戻るボタンを押したときに、一瞬だけ表示されることがあり、理由が分からないです。

1

全体のコードを書きました。

2016/11/26 16:19

投稿

1ss411
1ss411

スコア17

test CHANGED
File without changes
test CHANGED
@@ -117,3 +117,267 @@
117
117
  </html>
118
118
 
119
119
  ```
120
+
121
+
122
+
123
+ 詳しくコードを書きます。bodyを1つにしたら、今度は、googlemapが表示されないというエラーが発生して、どうしたらいいのか分からなくなってきました。もちろんページ遷移はうまくいきません。
124
+
125
+
126
+
127
+ ```ここに言語を入力
128
+
129
+ <!DOCTYPE HTML>
130
+
131
+ <html>
132
+
133
+ <head>
134
+
135
+ <title>AAA</title>
136
+
137
+ <meta charset="utf-8">
138
+
139
+
140
+
141
+ <meta name="viewport" content="width=device-width,initial-scale=1, maximum-scale=1, user-scalable=no">
142
+
143
+ <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'">
144
+
145
+ <script src="components/loader.js"></script>
146
+
147
+ <link rel="stylesheet" href="components/loader.css">
148
+
149
+ <link rel="stylesheet" href="css/styles.css">
150
+
151
+ <script src="js/cssua.min.js"></script>
152
+
153
+ <script src="js/app.js"></script>
154
+
155
+ <script async defer
156
+
157
+ src="https://maps.googleapis.com/maps/api/js?key=[apiキー]&callback=initMap">
158
+
159
+ </script>
160
+
161
+
162
+
163
+ <script>
164
+
165
+ var message;callback=initMap
166
+
167
+
168
+
169
+ // 位置情報取得
170
+
171
+ function start_func(){
172
+
173
+ get_location();
174
+
175
+ }
176
+
177
+
178
+
179
+ // ( 1 )位置情報を取得します。
180
+
181
+ function get_location(){
182
+
183
+
184
+
185
+ if (navigator.geolocation) {
186
+
187
+ // 現在の位置情報取得を実施 正常に位置情報が取得できると、
188
+
189
+ // successCallbackがコールバックされます。
190
+
191
+ navigator.geolocation.getCurrentPosition(successCallback,errorCallback);
192
+
193
+
194
+
195
+ } else {
196
+
197
+ message = "本ブラウザではGeolocationが使えません";
198
+
199
+ document.getElementById("area_name").innerHTML= message;
200
+
201
+ }
202
+
203
+ }
204
+
205
+
206
+
207
+ // ( 2 )位置情報が正常に取得されたら
208
+
209
+ function successCallback(pos) {
210
+
211
+ var Potition_latitude = pos.coords.latitude;
212
+
213
+ var Potition_longitude = pos.coords.longitude;
214
+
215
+
216
+
217
+ // 位置情報が取得出来たらGoogle Mapを表示する
218
+
219
+ initialize(Potition_latitude,Potition_longitude);
220
+
221
+ }
222
+
223
+
224
+
225
+ function errorCallback(error) {
226
+
227
+ message = "位置情報が許可されていません";
228
+
229
+ document.getElementById("area_name").innerHTML = message;
230
+
231
+ }
232
+
233
+
234
+
235
+ var lat = 0;
236
+
237
+ var lng = 0;
238
+
239
+
240
+
241
+ // ( 3 )Google Map API を使い、地図を読み込み
242
+
243
+ function initialize(x,y) {
244
+
245
+ // Geolocationで取得した座標を代入
246
+
247
+
248
+
249
+ var myLatlng = new google.maps.LatLng(x,y);
250
+
251
+ var map = new google.maps.Map(document.getElementById("map_canvas"),{
252
+
253
+ zoom: 17,
254
+
255
+ center: myLatlng,
256
+
257
+ mapTypeId: google.maps.MapTypeId.HYBRID
258
+
259
+ });
260
+
261
+
262
+
263
+
264
+
265
+ // MapTypeId に、地図タイプを指定
266
+
267
+ // HYBRID 衛星画像と主要な通りが表示されます
268
+
269
+ // ROADMAP 通常の地図画像が表示されます
270
+
271
+ // SATELLITE 衛生画像が表示されます。
272
+
273
+ // TERRAIN 地形や植生などのマッピングをします。
274
+
275
+ // データベースにある災害の位置情報
276
+
277
+
278
+
279
+ //var markerData = [{icon:}];
280
+
281
+
282
+
283
+ var marker0 = new google.maps.Marker({
284
+
285
+ position: myLatlng,
286
+
287
+ map:map,
288
+
289
+ draggable: true // ドラッグ可能にする
290
+
291
+ });
292
+
293
+
294
+
295
+ // 簡単な情報ウィンドウを作成する
296
+
297
+ var infowindow = new google.maps.InfoWindow({
298
+
299
+ content: "現在地"
300
+
301
+ });
302
+
303
+
304
+
305
+ infowindow.open(map, marker0);
306
+
307
+
308
+
309
+ // 作成したマーカーに対するタッチクリックイベントをキャプチャする
310
+
311
+ google.maps.event.addListener(marker0, 'click', function() {
312
+
313
+ infowindow.open(map, marker0);
314
+
315
+ });
316
+
317
+
318
+
319
+ // マーカーのドロップ(ドラッグ終了)時のイベント
320
+
321
+ google.maps.event.addListener(marker0, 'dragend', function(ev){
322
+
323
+
324
+
325
+ // 緯度・経度取得
326
+
327
+ lat = ev.latLng.lat();
328
+
329
+ lng = ev.latLng.lng();
330
+
331
+ //alert(lat);
332
+
333
+ });
334
+
335
+ }
336
+
337
+
338
+
339
+ function koshin(){
340
+
341
+ location.reload();
342
+
343
+ }
344
+
345
+ //google.maps.event.addDomListener(window, 'load', initialize);
346
+
347
+ </script>
348
+
349
+ </head>
350
+
351
+
352
+
353
+ <body onload="start_func()">
354
+
355
+ <div id="map_canvas" style="width:100%; height:100%">
356
+
357
+ 位置情報を取得しています....
358
+
359
+ </div>
360
+
361
+ <div data-role="page" id="a">
362
+
363
+ <div data-role="header" data-position="fixed" data-theme="c">
364
+
365
+ <h1>位置情報登録画面</h1>
366
+
367
+ <a href="information.html" data-icon="add" class="ui-btn-right">登録</a>
368
+
369
+ <a href="index.html" data-icon="back" class="ui-btn-left">戻る</a>
370
+
371
+ </div>
372
+
373
+ </div>
374
+
375
+
376
+
377
+ </body>
378
+
379
+
380
+
381
+ </html>
382
+
383
+ ```