$(document).ready(function() { var mapdiv = document.getElementById('access_google'); var org_lat = "23.104897"; //中心座標(緯度) var org_lng = "113.269895"; //中心座標(経度) var org_zoom = "18"; //ズーム marker_list = new google.maps.MVCArray(); var org_maptype = 'roadmap'; //地図の種類 //通常バルーンアイコン var iconSize = new google.maps.Size(20, 31); var iconPosition = new google.maps.Point(0, 0); var iconOffset = new google.maps.Point(10, 15); var customIcons = { 0 : { icon : new google.maps.MarkerImage("../images/googlemap_icon0.png", iconSize, iconPosition, iconOffset), zIndex : 2, }, 1 : { icon : new google.maps.MarkerImage("../images/googlemap_icon1.png", iconSize, iconPosition, iconOffset), zIndex : 1, } }; var point = new google.maps.LatLng(org_lat, org_lng); var myOptions = { zoom : parseInt(org_zoom), center : point, mapTypeId : org_maptype, scaleControl : true, scrollwheel : false }; var infowindow; var map = new google.maps.Map(mapdiv, myOptions); putMarkers(); function deleteAllMarkers(){ marker_list.forEach(function(marker, idx) { marker.setMap(null); }); } function putMarkers(type){ jQuery.get("../script/map.php?type=" + type, {}, function(data) { jQuery(data).find("marker").each(function() { var marker = jQuery(this); if(marker.attr("lat") && marker.attr("lng")) { var latlng = new google.maps.LatLng(parseFloat(marker.attr("lat")), parseFloat(marker.attr("lng"))); var markers = createMarker(latlng, marker.attr("id"), marker.attr("name"), marker.attr("url"), marker.attr("img"), marker.attr("icon"), marker.attr("zip"), marker.attr("addr"), marker.attr("tel"), marker.attr("fax"), marker.attr("name2"), marker.attr("tel2"), marker.attr("fax2"), marker.attr("comment")); marker_list.push(markers); } }); }); } $('#m0').click(function(){ deleteAllMarkers(); putMarkers(0); }); //マーカー生成 function createMarker(latlng, id, name, url, img, iconNum, zip, addr, tel, fax, name2, tel2, fax2, comment) { //var icon = customIcons['accommodation'] || {}; var icon = customIcons[iconNum] || {}; var marker = new google.maps.Marker({ position : latlng, map : map, title : name, icon : icon.icon, shadow : icon.shadow, zIndex : icon.zIndex }); if(url) { url = '' + url + ''; } if(name) { name = name.replace('{br}', '
'); name = '
' + name + '
'; } else { name = ''; } if(name2) { name2 = '
' + name2 + '
'; } else { name2 = ''; } if(zip) { zip = '〒' + zip + '
'; } else { zip = ''; } if(addr) { addr = addr.replace('{br}', '
'); addr = '
' + zip + addr + '
'; } else { addr = ''; } if(tel) { tel = tel.replace('{br}', '
'); tel = '
TEL:' + tel + '
'; } else { tel = ''; } if(fax) { fax = '
FAX:' + fax + '
'; } else { fax = ''; } if(comment) { comment = comment.replace('{br}', '
'); comment = '
' + comment + '
'; } else { comment = ''; } if(tel2) { tel2 = '
TEL:' + tel2 + '
'; } else { tel2 = ''; } if(fax2) { fax2 = '
FAX:' + fax2 + '
'; } else { fax2 = ''; } if(img) { img = ''; } else { img = ''; } //マーカーの吹き出し google.maps.event.addListener(marker, "click", function() { if(infowindow) infowindow.close(); infowindow = new google.maps.InfoWindow({ content : '
' + name + tel + fax + name2 + tel2 + fax2 + addr + comment +'
' + img + '' }); infowindow.open(map, marker); }); return marker; } });