//// // // main markers var _main_markers = new Array(); // {obj:,gid:,nid:,title:} //var _main_markers_id = new Array(); //var _main_markers_title = new Array(); var _main_markers_limit = 10; // main infowindows var _main_iwins = new Array(); // {obj:,time:} var _main_iwins_limit = 1; // main marker var _mainmarker; // sub markers var _markers = new Array(); // {obj:,gid:,nid:,title:} //var _markers_title = new Array(); // add markers var _addmarkers = new Array(); var _addmarker_num; var _addmarker_limit = 1; var _idmap = 'map'; var _map; var _map_vision; var _marker; var _control; var _overview; var _viewmode; var _min_x; var _max_x; var _min_y; var _max_y; var _modname; var _kid; var _admin; var _linkoff; var _winoff; var _onnumber; var _onmlistbox = false; var _onslistbox = false; var _listbox_incomp = 0; var _onnumber = 0; var _polyline; var _polylines; var _polyline_color; var _polyline_weight; var _polyline_opacity; var _autozoom = true; var _listboxafter_fnc; var _tailesloaded_fnc; var _active_tabmode; if( typeof(_points_areamap) == 'undefined' ){ var _points_areamap = []; } function event_handler_map(){ _map = new MapAdmin(); 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 setPolyline(){ if( typeof(_polylines) != 'undefined' ){ var tree = parseXML4SummaryMaterial(_polylines); var max = _polylines.length; var points=[]; for( i=0; i= id_max ){return;} _map.clearMarker_Main(num); refreshListBox(); } function putMapMarkerNonNumber(xml, marker_color){ var tree = parseXML4SummaryMaterial(xml); var max = _markers.length; if( tree == null || ! tree.material.length ){return;} material = tree.material; _map.createMarker2(new google.maps.LatLng(material.lat,material.lng), material.modname, material.gid, material.nid, max, marker_color); //_map.createMarker(new google.maps.LatLng(material.lat,material.lng), material.name, marker_color, '*'); _map.map.setCenter(new google.maps.LatLng(material.lat,material.lng)); } function putMapMarker(xml, marker_color){ var tree = parseXML4Material(xml); var max = _markers.length; if( tree == null || ! tree.summary.material.length ){return;} material = tree.material; _map.createMarker2(new google.maps.LatLng(material.lat,material.lng), material.tid, max); } function putMapMarker_Main(xml, marker_color){ var tree = parseXML4Material(xml); var max = _main_markers.length; var id_max = _main_markers.length; var bingofl = false; var count = 0; for( i=0; i 0 ){count++;} } if( count >= _main_markers_limit ){return;} if( tree == null || ! tree.summary.material.length ){return;} material = tree.material; // check Duplicate 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;} if( _listbox_incomp == 0 ){ _map.pushListBox(makeLinkForm(i, 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(); } } function putMapMarker4Xml_Main(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_Main(); var material; var mat = new Material(); var width = _map.getSmallWinWidth(); var height = _map.getSmallWinHeight(); var max = _main_markers.length; var points=[]; _main_markers = []; for( i=max; i'+material.title+'', '', i+1, material.marker); } //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(); } } function putKategorieCount4Xml(xml){ var tree = parseXML4SummaryKategorie(xml); jQuery('#map_kategorie').html(''); if( tree == null || ! tree.summary.material.length ){return;} var kategorie; var html = ''; for( i=0; i'; html += kategorie.name; html += '('; html += kategorie.count; html += ')'; html += ''; } } if( html != '' ){ jQuery('#map_kategorie').html(html); } } function showAddress(address){ if( typeof(_map.geocoder) != 'undefined' ){ _map.geocoder.geocode( { address: address }, moveAddress ); } } function moveAddress(res, stat){ if( typeof(res[0]) != 'undefined' && typeof(res[0].geometry) != 'undefined' ){ _map.map.setCenter(res[0].geometry.location); _map.addMarker(_map.getMapObj().getCenter()); } else { alert('No match') } } function showMarkers4nID( mode, ms ){ if( typeof(ms) == 'undefined' || ! ms.length ){return;} var bounds_lng = []; var bounds_lat = []; //if( mode != _active_tabmode ){hideMarkerAll();} for( var i=0; i 0 ){ _addmarkers[_addmarker_num-1].setMap(null); _addmarkers = new Array(); _addmarker_num = 0; } if( typeof(_addmarker_limit) == 'undefined' || _addmarker_num < _addmarker_limit ){ //var marker = new google.maps.Marker(point, {draggable: true}); var marker = new google.maps.Marker({ map: this.map, animation: google.maps.Animation.DROP, position: point, draggable: true }); google.maps.event.clearListeners(marker, 'click'); google.maps.event.clearListeners(marker, 'infowindowopen'); google.maps.event.clearListeners(marker, 'dragend'); google.maps.event.addListener(marker, 'dragend', function(){ _map.setFormPointXY(marker.getPosition()); }); _map.setFormPointXY(marker.getPosition()); _addmarkers[_addmarker_num] = marker; _addmarker_num++; return marker; } }, // // infoWindow open processor // infoWindowOpen : function(iwin, map, marker){ var pos = 0; if( _main_iwins.length < _main_iwins_limit ){ pos = _main_iwins.length; } else { for( var i=0; i<_main_iwins.length; i++ ){ if( _main_iwins[i].time < _main_iwins[pos].time ){ pos = i; } } } if( typeof(_main_iwins[pos]) != 'undefined' ){ _main_iwins[pos].obj.close(); } _main_iwins[pos] = { obj: iwin, time: new Date().getTime() }; _main_iwins[pos].obj.open(map, marker); marker.setAnimation(google.maps.Animation.BOUNCE); google.maps.event.addListenerOnce(_main_iwins[pos].obj, 'position_changed', function(){ marker.setAnimation(null); }); }, // // Set Formvalue as point X,Y // has a rename form ID // // setFormPointXY : function(point){ jQuery('#gmap_lng').val(point.lng()); jQuery('#gmap_lat').val(point.lat()); }, // // savepoint // // savePosition : function(){ this.savelocation = this.map.getCenter(); }, // // move savepoint // // panToSavePosition : function(){ if( typeof(this.savelocation) != 'undefined' ){ this.map.setCenter(this.savelocation); } }, // // // // putMessageBox : function(mess){ box_id = '#'+this.messbox_id; if( eval('typeof(document.getElementById(\''+box_id+'\'));') == 'undefined' ){return;} jQuery(box_id).html(mess); }, // // // // pushListBox : function(mess){ box_id = '#'+this.listbox_id; if( jQuery(box_id) == null ){return;} jQuery(box_id).html(jQuery(box_id).html()+'
'+mess+'
'); }, // // // // clearListBox : function(){ if( this.listbox_unclear ){return;} box_id = '#'+this.listbox_id; if( jQuery(box_id) == null ){return;} jQuery(box_id).html(''); } });