アプリ版:「スタンプのみでお礼する」機能のリリースについて

いつもありがとうございます。
前回のチェックボックスの質問の続きとなるのですが、チェックボックスの選択数によってN個の$rows = mysql_num_rows($result);がきたとします。それぞれ 名前=$row['name'],緯度=$row['ido'], 経度=$row['keido']です。

<?php 抜粋
//結果セットの行数を取得する
$rows = mysql_num_rows($result);

//表示するデータを作成
while($row = mysql_fetch_array($result)) {
$markerData.="{name:'".$row["name"]."', lat:".$row["ido"].",lng:".$row["keido"]."},\n<br>";

こちらの$markerDataをプリントしたものを、下のvar markerDataにコピペすると地図ができるのですが、下記のように内容をphpでechoするとできません。
根本的に考え方がちがうのでしょうか?
markerData.length;の値が取れていないことが原因でしょうか?
よろしくお願い申し上げます。




<script type="text/javascript">
var map;
var marker = [];

var markerData = [ // マーカーを立てる場所名・緯度・経度
{
"<?php echo $markerData; ?>"    //←ここです!!
}
];
var center = {
lat: 34.987717, // 緯度
lng: 139.863876 // 経度
};

function initMap() {

var mapLatLng = new google.maps.LatLng({lat: markerData[0]['lat'], lng: markerData[0]['lng']}); // 緯度経度のデータ作成
map = new google.maps.Map(document.getElementById('sample'), { // #sampleに地図を埋め込む
center: center,
zoom: 12 // 地図のズームを指定
});
// マーカー毎の処理
for (var i = 0; i < markerData.length; i++) {
markerLatLng = new google.maps.LatLng({lat: markerData[i]['lat'], lng: markerData[i]['lng']}); // 緯度経度のデータ作成
marker[i] = new google.maps.Marker({ // マーカーの追加
position: markerLatLng, // マーカーを立てる位置を指定
map: map // マーカーを立てる地図を指定
});
}
</script>

ちなみにかいた順番は以下のとおりです。
<?php >
<html>
<body>
<javascript></script>
</body>
</html>

A 回答 (1件)

こんにちは


phpはよく知らないのと、(非公開なので)前回の内容もわからないのですが…

>コピペすると地図ができるのですが~~
HTMLに出力した内容とコピペした時の内容とが違っていませんか?
(出力されたソースを確認してみればわかると思います)

よくわかってませんが、
var markerData = [
{
{ name: 'hoge', lat: 34.1, lng: 139.1 },
<br>{ name: 'fuga', lat: 34.2, lng: 139.2 },
   ・・・・・・
<br>{ name: 'piyo', lat: 34.3, lng: 139.3 },
<br>
}
];
のようになっていませんか?

多分、オブジェクトの階層が違うのと、<br>が余計なのでは。
できれば最後のカンマも除いておいた方がよろしいかと。


最終的に、
var markerData = [
{ name: 'hoge', lat: 34.1, lng: 139.1 },
{ name: 'fuga', lat: 34.2, lng: 139.2 },
   ・・・・・・
{ name: 'piyo', lat: 34.3, lng: 139.3 }
];
のように出力できていれば動作するものと推測します。
    • good
    • 0
この回答へのお礼

できました!!
おっしゃっるとおり、<br>や「’」が悪さしていました!そこを調整?したら見事表示されました!!
あろがとうございました!!

お礼日時:2016/11/16 23:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!