前提・実現したいこと
DBから二つのテーブルのデータA,Bを呼んできて1つのウェブページ上に表示させたいです。
Aをマップ上に表示させ、Bはとりあえず画面に表示しようとしてるのですが、
Bを表示しようとするとAのマップが消えてしまいます。
2つのデータを呼び出すところまでは出来ていて表示がうまくいかない状態です。
左側に大きくマップを出して右側にデータ一覧のような形でデータを出したいと思っています
発生している問題・エラーメッセージ
エラーメッセージは見当たりません
見落としてたら申し訳ないです。
エラーメッセージ
該当のソースコード
javascript
1function initMap() { 2 var target = document.getElementById('target'); 3 var opts = { 4 zoom: 15, 5 center: new google.maps.LatLng(OOOO, OOOO) 6 }; 7 map = new google.maps.Map(document.getElementById("map"), opts); 8 infoWindow = new google.maps.InfoWindow(); 9 10} 11 12$(function(){ 13 $.ajax({ 14 type: "POST", 15 url: "data.php", 16 dataType: "json", 17 success: function(data){ 18 markerD = data; 19 setMarker(markerD); 20 }, 21 error: function(XMLHttpRequest, textStatus, errorThrown){ 22 alert('Error : ' + errorThrown); 23 } 24 }); 25 }); 26 27 $(function(){ 28 $.ajax({ 29 type: "POST", 30 url: "data2.php", 31 dataType: "json", 32 success: function(data){ 33 markerE = data; 34 console.log(markerE.length); 35 }, 36 error: function(XMLHttpRequest, textStatus, errorThrown){ 37 alert('Error : ' + errorThrown); 38 } 39 }); 40 }); 41 42 function setMarker(markerData) { 43 44 console.log(markerData); 45 console.log(markerData.length); 46 47 //マーカー生成 48 var sidebar_html = ""; 49 var icon; 50 51 for (var i = 0; i < markerData.length; i++) { 52 53 var latNum = parseFloat(markerData[i]['lat']); 54 var lngNum = parseFloat(markerData[i]['lon']); 55 56 console.log(map); 57 58 // マーカー位置セット 59 var markerLatLng = new google.maps.LatLng({ 60 lat: latNum, 61 lng: lngNum 62 }); 63 64 // マーカーのセット 65 marker[i] = new google.maps.Marker({ 66 position: markerLatLng, // マーカーを立てる位置を指定 67 map: map, // マーカーを立てる地図を指定 68 animation: google.maps.Animation.DROP // アイコン指定 69 }); 70 71 markerEvent(i,'<div class="name">' + markerData[i]['name'] + '</div>'); 72 73 } 74 75 // サイドバー 76 document.getElementById("sidebar").innerHTML = sidebar_html; 77 } 78 79 function markerEvent(i, html) { 80 marker[i].addListener('click', function() { 81 infoWindow.setContent( html ); 82 infoWindow.open(map, marker[i]); 83 });
php
1<?php 2 3 //ヘッダー情報の設定 4 header("Content-Type: application/json; charset=utf-8"); 5 6 $data = array(); 7 8 $pdo = new PDO("mysql:dbname=OO; host=OO port=OO", "OO", "OO"); 9 10 $sql = "SELECT * FROM OO"; 11 $sth = $pdo -> prepare($sql); 12 $sth -> execute(); 13 14 //データを取得する 15 $data = $sth -> fetchAll(PDO::FETCH_ASSOC); 16 17 //jsonオブジェクト化 18 echo json_encode($data); 19?>
試したこと
どのサイトか覚えてないですが、初心者なため色々なサイトを参考に
ツギハギして作りました。
見にくくて申し訳ないです。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー