/* * plugin:jquery.easyGmap.js * version:1.0(2010.05.16) * update:2010.12.20 * requires:jQuery v1.3.2 later * author:Manabu Kushimoto(http://web-park.org) */ $(function(){ $.fn.easyGmap = function(options,i){ var op = $.extend($.fn.easyGmap.defaults,options); /* ブラウザがGoogleMapに適応しているか判別 */ if(GBrowserIsCompatible()){ var $t = $(this); var gMap = ".gMap"; var gMapAddress = ".gMapAddress"; var map = map+i; var dispMap = "dispMap"; $t.attr("id", dispMap + i); /* Mapを表示させるための変数 */ var geocoder,marker; var address = $(gMapAddress,$t).text(); /* gMapクラス内にdiv要素を挿入 */ var areaMap = document.createElement("div"); //$(areaMap).attr("id","areaMap" + i); var shareMap = "shareMap"; $(areaMap).addClass(shareMap); var gMapURL = "http://maps.google.co.jp/maps?q=" $(gMap,$t).append(areaMap).append('大きな地図で見る') /* Mapを表示させるための関数 */ map = new GMap2(areaMap); function moveArea(LatLng){ if (LatLng){ map.addControl(new GMapTypeControl()); map.addControl(new GLargeMapControl()); map.setCenter(LatLng, op.zoomMap); marker = new GMarker(LatLng,op.markerImg); if(op.balloonEvent == "click"){ GEvent.addListener(marker,op.balloonEvent, function(){marker.openInfoWindowHtml(address+op.addText);}) } else { GEvent.addListener(map,op.balloonEvent, function(){marker.openInfoWindowHtml(address+op.addText);}) } map.addOverlay(marker); }else{ var noteMap = "noteMap"; $(areaMap).append("

"+ op.textMap +"

"); } }; geocoder = new GClientGeocoder(); geocoder.getLatLng(address,moveArea); } else { alert("お使いのブラウザではGoogle Maps APIはご使用いただけません。"); } } $.fn.easyGmap.defaults = { zoomMap: 15, markerImg: false, balloonEvent: "click", addText: "", textMap: "この住所は見つかりませんでした。" } });