/*
 * access.js
 */

var Latitude  = 35.656932;
var Longitude = 139.736473;

var popupW = "210px";
var popupH = "210px";

var iconImage            = '../images/access/logo.png';
var iconImageTransparent = '../images/access/logo_transparent.png';

var iconW = "29";
var iconH = "27";

function load() {
	if(GBrowserIsCompatible()){
		// 地図初期設定
		var map   = new GMap2(document.getElementById("map"));
		var point = new GLatLng(Latitude, Longitude);
		map.addControl(new GLargeMapControl());
		map.setCenter(point, 17);
		
		// アイコン生成
		icon = new GIcon();
		icon.image       = iconImage;
		icon.iconSize    = new GSize(iconW, iconH);
		icon.transparent = iconImageTransparent;
		icon.iconAnchor  = new GPoint(5, 5);
		icon.imageMap    = [0,0,0,iconH,iconW,iconW,iconH,0];
		var offset       = new GSize(0, 0);
		
		function createMarker(point, icon) {
			var marker = new GMarker(point, icon);
			// クリックイベント
			GEvent.addListener(marker, "click", function(){
				// 現在地の保存
				map.savePosition();
				// ストリートビュー用のコンテナの生成
				var svContainer = document.createElement("div");
				svContainer.style.width  = popupW;
				svContainer.style.height = popupH;
				
				// GStreetviewPanoramaの作成
				var fenwayPark = new GLatLng(Latitude, Longitude);
				var myPOV      = { yaw:140, pitch:-20 };
				var svOpts     = { latlng:fenwayPark, pov:myPOV };
				var myPano     = new GStreetviewPanorama(svContainer, svOpts);
				
				map.openInfoWindow(point, svContainer, offset);
			});
			// ポップアップクローズイベント
			GEvent.addListener(map, 'infowindowclose', function(){
				map.returnToSavedPosition();
			});
			
			return marker;
		}
		
		// マーカー生成
		var marker = createMarker(point, icon);
		map.addOverlay(marker);
	}
}

