お世話になります。
現在、JSONのデータをグーグルマップに表示する機能を実装しようとしているのですが、JSONのデータをループで取れなくて困っています。
よろしければご教授ください。
作成中のコードを記載します
**********************
【javascript】
$(function(){
//JSONファイル読み込み開始
$.ajax({
url:"array.json",//外部ファイル
cache:false,
dataType:"json",
success:function(json){
var data=jsonRequest(json);
initialize(data);
}
});
});
// JSONファイル読み込みマーカーへデータ格納
function jsonRequest(json){
var data=[];
if(json.Marker){
var n=json.Marker.length;
for(var i=0;i<n;i++){
data.push(json.Marker[i]);
}
}
return data;
}
// Attach Message
function attach_message( map, marker, msg, iw ){
google.maps.event.addListener(marker, 'click',
function( event ){
iw.setContent( msg );iw.open(map, marker);});
}
function initialize(data){
var opts={
zoom:15,
center:new google.maps.LatLng(35.681382,139.766084),
mapTypeId:google.maps.MapTypeId.ROADMAP
};
var map=new google.maps.Map
(document.getElementById("map_canvas"),opts);
if (data != null) {
var i=data.length;
}
var iw = new google.maps.InfoWindow();
while(i-- >0){
var dat=data[i];
var obj={
position:new google.maps.LatLng(dat.lat,dat.lng),
map:map
};
var marker=new google.maps.Marker(obj);
attach_message(map, marker, dat.content,iw);
//マップクリックイベントを追加
google.maps.event.addListener(map, 'click', function(e) {
//インフォウィンドウを消去
iw.close();
});
}
}
【JSONの中身】
{"1":{"A":"管理番号","B":"種別","C":"公開有無","D":"物件名","E":"住所","F":"全戸数","G":"入居戸数","H":"イベント開催開始日","I":"イベント開催終了日","J":"メッセージ","K":"外観画像ファイル名","L":"イベントPDFファイル名","M":"緯度","N":"経度","O":"外観画像ファイル名","P":"イベントPDFファイル名","Q":null},
"2":{"A":null,"B":"10:イベント\n20:モデルルーム\n30:実績(満室)\n31:実績(空室あり)","C":"0:非公開\n1:公開","D":null,"E":"必須","F":"「種別」が30もしくは31の場合に必須","G":"「種別」が31の場合に必須","H":"「種別」が10の場合に必須","I":"「種別」が10、かつイベント開催開始日と異なる場合に必須","J":"「種別」が10の場合に必須","K":null,"L":null,"M":null,"N":null,"O":"システムでの利用","P":"システムでの利用","Q":null},
"3":{"A":1,"B":10,"C":1,"D":"null","E":"null","F":null,"G":null,"H":null,"I":null,"J":null,"K":null,"L":null,"M":36.036802,"N":140.063076,"O":null,"P":null,"Q":null}}
【質問】
jsonの中身の「M」「N」の緯度・経度をマーカーに格納しマップに表示したいのですが、格納の仕方がわからず困っています。
キーがA,B,C...となっているのは、エクセルファイルをJSONに変換しているためです、同じ理由で第一階層の1.2.3...もです。
簡単なfor文のところでつまずいています。
for~inで縦列を回して、さらにネストして横列を取得し、条件分岐という感じでしょうか?
以上長文になってしまいましたが、ご教授宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。