//// // function event_handler_map(){ _map = new SobaMap(); setGmapDefault(); _map.createMap(_idmap); _map.clearMarker(); if( typeof(_map.default_opt) != 'undefined' ){ if( _map.default_opt != '' ){ var mat = new Material(); var xml = mat.readMaterialAsync(_map.default_opt); var tree = parseXML4Material(xml); if( typeof(tree) != 'undefined' && typeof(tree.material) != 'undefined' ){ material = tree.material; if( typeof(material.lng) != 'undefined' && typeof(material.lat) != 'undefined' ){ _map.createMainMarker(new google.maps.LatLng(material.lat,material.lng), material.modname, material.gid, material.nid, '', material.marker); _map.map.setCenter(new google.maps.LatLng(material.lat,material.lng)); } } } } if( typeof(_marker) != 'undefined' ){ putMapMarker4Xml_Main(_marker); } var mapobj = _map.getMapObj(); if( typeof(_min_x) != 'undefined' && typeof(_max_x) != 'undefined' && typeof(_min_y) != 'undefined' && typeof(_max_y) != 'undefined' ){ calcuBound2Zoom(_min_x, _max_x, _min_y, _max_y); } if( _viewmode == 'mapset' ){ _addmarker_num = 0; if( _admin == '' ){_addmarker_limit = 1;} jQuery('#'+_idmap+'_operation').html(' \'put'); } google.maps.event.addListenerOnce(mapobj, 'tilesloaded', function(){ if( _viewmode == 'msoround' && typeof(_modname) != 'undefined' ){ soroundSearch(_modname); } else if( _viewmode == 'soround' && typeof(_modname) != 'undefined' ){ soroundSearch(_modname); } else if( _viewmode == 'ksearch' && typeof(_modname) != 'undefined' ){ kategorieSearch(_kid); } if( typeof(_polyline) != 'undefined' && _polyline == 'on' ){ setPolyline(); } if( _viewmode == 'mapset' ){ _map.addMarker(new google.maps.LatLng(_map.getDefaultLat(), _map.getDefaultLng())); } if( _dirn_defpoints != '' ){ event_handler_direction(); directionSetAndStart(_dirn_defpoints); } if( typeof(_tailesloaded_fnc) != 'undefined' ){ _tailesloaded_fnc(); } }); } function putMapMarker4Xml(xml, inhtml){ var tree = parseXML4SummaryMaterial(xml); var marker = ''; var bounds_lng = new Array(); var bounds_lat = new Array(); var bounds_pos = 0; var tit; var num; if( tree == null || ! tree.summary.material.length ){return;} //_map.clearMarker(); var material; var mat = new Material(); var width = _map.getSmallWinWidth(); var height = _map.getSmallWinHeight(); var points=[]; _markers = []; for( i=0; i'+material.title+'', material.marker, i+1); } if( _onslistbox == true ){ tit = material.title.substr(0,_map.listbox_maxlength); if( _onnumber == 1 ){num = i+1;tit = num+'.'+tit;} var img_url_c = ''; if( material.img_url != '' ){ img_url_c = ''; } if( _listbox_incomp == 0 ){ _map.pushListBox(makeLinkForm(i, ''+img_url_c+''+tit+'')); } else { _map.pushListBox(makeLinkFormInComp(i, tit, material.comment)); } _markers[i].title = material.title; } //marker += ''; //marker += tree.summary.material[i].name; //marker += '
'; } } } bounds_lng.sort(); bounds_lat.sort(); calcuBound2Zoom(bounds_lng[0], bounds_lng[bounds_lng.length-1], bounds_lat[0], bounds_lat[bounds_lat.length-1]); if( typeof(_polyline) != 'undefined' && _polyline == 'mainmarker' ){ _map.map.addOverlay(new google.maps.Polyline(points, _polyline_color, _polyline_weight, _polyline_opacity)); } if( _onslistbox == true && typeof(_listboxafter_fnc) != 'undefined' ){ _listboxafter_fnc(); } } /*--------------------------------------------------------------------------*/ var SobaMap = Class.create(MapAdmin,{ // // Create Map.Override // createMap : function(idmap){ if( typeof(idmap) == 'undefined' ){idmap = 'map';} var map = new google.maps.Map(document.getElementById(idmap)); var geocoder = new google.maps.Geocoder(); var point = new google.maps.LatLng(this.default_lat, this.default_lng); this.map = map; this.geocoder = geocoder; if( typeof(_control) != 'undefined' ){ if( _control == 'small' ){ this.map.setOptions({ mapTypeId: google.maps.MapTypeId.ROADMAP, mapTypeControl: true, mapTypeControlOptions:{ position: google.maps.ControlPosition.BOTTOM_RIGHT, style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, panControl: false, rotateControl: false, scaleControl: true, scaleControlOptions: { position: google.maps.ControlPosition.BOTTOM_LEFT }, streetViewControl: false, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.LEFT_BOTTOM, style: google.maps.ZoomControlStyle.SMALL } }); } else if( _control == 'large' || _control == 'physical' ){ this.map.setOptions({ mapTypeControl: true, mapTypeControlOptions: { position: google.maps.ControlPosition.BOTTOM_RIGHT, style: google.maps.MapTypeControlStyle.DEFAULT }, panControl: false, rotateControl: false, scaleControl: true, scaleControlOptions: { position: google.maps.ControlPosition.BOTTOM_LEFT }, streetViewControl: false, zoomControl: true, zoomControlOptions: { position: google.maps.ControlPosition.LEFT_BOTTOM, style: google.maps.ZoomControlStyle.DEFAULT } }); if( _control == 'physical' ){ this.map.setOptions({ mapTypeId: google.maps.MapTypeId.TERRAIN }); } else { this.map.setOptions({ mapTypeId: google.maps.MapTypeId.ROADMAP }); } } } else { this.map.setMapTypeId(google.maps.MapTypeId.ROADMAP); } if( typeof(_overview) != 'undefined' ){ if( _overview == 'on' ){ this.map.setOptions({ overviewMapControl: true, overviewMapControlOptions: { opened: true } }); } } this.map.setCenter(point); this.map.setZoom(this.default_zoom); }, // // Create Marker(Click for DBaccess).Override // createMarker2 : function(point, modname, gid, nid, marker_num, marker_color_i, marker_str, mainmarkers){ var num = ''; var opt = ''; var icon = new google.maps.MarkerImage(); var shadow = new google.maps.MarkerImage(); var marker; var markeropt; var marker_infos; var marker_color = ''; var marker_width = 0; var marker_height = 0; var infowin_opts; if( typeof(marker_color_i) != 'undefined' ){ marker_infos = marker_color_i.split(','); if( typeof(marker_infos[0]) != 'undefined' ){marker_color = marker_infos[0];} if( typeof(marker_infos[1]) != 'undefined' ){marker_width = marker_infos[1];} if( typeof(marker_infos[2]) != 'undefined' ){marker_height = marker_infos[2];} } //if( typeof(modname) == 'undefined' || (typeof(gid) == 'undefined' && typeof(nid) == 'undefined') ){return;} //if( typeof(marker_str) == 'undefined' ){num = marker_num+1;} else {num = marker_str;} if( typeof(marker_str) == 'undefined' ){num = marker_num+1;} else {num = marker_str;} if( marker_color == '' ){marker_color = '086';} if( ! marker_width ){marker_width = 17;} if( ! marker_height ){marker_height = 23;} if( _onnumber == 1 ){ icon.url = 'http://ingnet.jp/modules/sobakaido/include/markers/numbered_marker.php?image=pushpins/webhues/'; icon.url += marker_color+'.png&text='; icon.url += num; } else { icon.url = 'http://ingnet.jp/modules/sobakaido/include/markers/pushpins/webhues/'+marker_color+'.png'; } icon.size = new google.maps.Size(marker_width, marker_height); icon.anchor = new google.maps.Point(0, marker_height); shadow.url = 'http://ingnet.jp/modules/sobakaido/include/markers/pushpins/webhues/shadow.png'; shadow.anchor = new google.maps.Point(2, 31); markeropt = { map: this.map, position: point, animation: google.maps.Animation.DROP, icon: icon, shadow: shadow, optimized: false }; marker = new google.maps.Marker(markeropt); infowin_opts = { maxWidth: this.infowin_max }; google.maps.event.clearListeners(marker, 'click'); google.maps.event.clearListeners(marker, 'infowindowopen'); if( typeof(modname) != 'undefined' && (typeof(gid) != 'undefined' || typeof(nid) != 'undefined') ){ opt = '&modname='+modname+'&gid='+gid+'&nid='+nid; if( point.lng() != 0 ){ google.maps.event.addListener(marker, 'click', function(){ html = readMaterialAdminAsync(''+opt+'', ''+marker_num+''); var iwin = new google.maps.InfoWindow(infowin_opts); iwin.setOptions({ content: html, disableAutoPan: true }); // info panel open_infopanel([html], marker, marker_num) _map.getMapObj().panTo(marker.getPosition()); _map.getMapObj().panBy(0,_centerdiff_y); }); } } else if( typeof(modname) != 'undefined' ){ google.maps.event.addListener(marker, 'click', function(){ modname = putMaterial(''+modname+''); var iwin = new google.maps.InfoWindow(infowin_opts); iwin.setOptions({ content: modname, disableAutoPan: true }); _map.infoWindowOpen(iwin, _map.map, marker); }); } if( typeof(mainmarkers) == 'undefined' ){ _markers[marker_num] = { obj: marker, gid: gid, nid: nid }; } return marker; }, // // Create MainMarker(Click for DBaccess) // createMainMarker : function(point, modname, gid, nid, marker_num, marker_color_i, marker_str){ var num = ''; var opt = ''; var icon = new google.maps.MarkerImage(); var marker; var markeropt; var marker_infos; var marker_color = ''; var marker_width = 0; var marker_height = 0; var infowin_opts; if( typeof(marker_color_i) != 'undefined' ){ marker_infos = marker_color_i.split(','); if( typeof(marker_infos[0]) != 'undefined' ){marker_color = marker_infos[0];} if( typeof(marker_infos[1]) != 'undefined' ){marker_width = marker_infos[1];} if( typeof(marker_infos[2]) != 'undefined' ){marker_height = marker_infos[2];} } if( typeof(modname) == 'undefined' || (typeof(gid) == 'undefined' && typeof(nid) == 'undefined') ){return;} //if( typeof(marker_str) == 'undefined' ){num = marker_num+1;} else {num = marker_str;} if( typeof(marker_str) == 'undefined' ){num = marker_num+1;} else {num = marker_str;} if( marker_color == '' ){marker_color = '086';} if( ! marker_width ){marker_width = 17;} if( ! marker_height ){marker_height = 23;} if( _onnumber == 1 ){ icon.url = 'http://ingnet.jp/modules/sobakaido/include/markers/numbered_marker.php?image=pushpins/webhues/'; icon.url += marker_color+'.png&text='; icon.url += num; } else { icon.url = 'http://ingnet.jp/modules/sobakaido/include/markers/pushpins/webhues/'+marker_color+'.png'; } icon.size = new google.maps.Size(marker_width, marker_height); icon.anchor = new google.maps.Point(marker_width, 0); markeropt = { map: this.map, animation: google.maps.Animation.DROP, position: point, icon: icon }; marker = new google.maps.Marker(markeropt); infowin_opts = { maxWidth: this.infowin_max }; google.maps.event.clearListeners(marker, 'click'); google.maps.event.clearListeners(marker, 'infowindowopen'); opt = '&modname='+modname+'&gid='+gid+'&nid='+nid; google.maps.event.addListener(marker, 'click', function(){ if( typeof(_winoff) == 'undefined' ){ html = readMaterialAdminAsync(''+opt+'', ''+marker_num+''); var iwin = new google.maps.InfoWindow(infowin_opts); iwin.setOptions({ content: html, disableAutoPan: true }); _map.infoWindowOpen(iwin, _map.map, marker); } }); //this.map.savePosition(); this.savePosition(); _mainmarker = marker; return marker; } });