2010-01-26 11:13:44 +01:00
< ? php
/**
* Pandora FMS - http :// pandorafms . com
* ==================================================
2010-03-04 17:08:09 +01:00
* Copyright ( c ) 2005 - 2010 Artica Soluciones Tecnologicas
2019-01-30 16:18:44 +01:00
*
2010-01-26 11:13:44 +01:00
* This program is free software ; you can redistribute it and / or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation for version 2.
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*/
2019-05-06 16:59:31 +02:00
// Load global vars.
2010-03-03 18:10:37 +01:00
global $config ;
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
check_login ();
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
if ( ! check_acl ( $config [ 'id_user' ], 0 , 'PM' ) && ! is_user_admin ( $config [ 'id_user' ])) {
db_pandora_audit ( 'ACL Violation' , 'Trying to access Visual Setup Management' );
include 'general/noaccess.php' ;
return ;
2010-01-26 11:13:44 +01:00
}
2019-01-30 16:18:44 +01:00
require_once 'include/functions_gis.php' ;
2010-01-26 11:13:44 +01:00
$action = get_parameter ( 'action' , 'create_connection_map' );
2019-01-30 16:18:44 +01:00
if ( is_ajax ()) {
2010-01-26 11:13:44 +01:00
}
echo '<form action="index.php?sec=gsetup&sec2=godmode/setup/gis_step_2" method="post">' ;
switch ( $action ) {
2019-01-30 16:18:44 +01:00
case 'create_connection_map' :
2019-05-06 16:59:31 +02:00
// Header.
ui_print_page_header (
__ ( 'Create new map connection' ),
'' ,
false ,
'' ,
true
);
2019-01-30 16:18:44 +01:00
$mapConnection_name = '' ;
$mapConnection_group = '' ;
$mapConnection_numLevelsZoom = '19' ;
$mapConnection_defaultZoom = '16' ;
$mapConnection_type = 0 ;
$mapConnection_defaultLatitude = '40.42056' ;
$mapConnection_defaultLongitude = '-3.708187' ;
$mapConnection_defaultAltitude = '0' ;
$mapConnection_centerLatitude = '40.42056' ;
$mapConnection_centerLongitude = '-3.708187' ;
$mapConnection_centerAltitude = '0' ;
$mapConnectionData = null ;
html_print_input_hidden ( 'action' , 'save_map_connection' );
break ;
case 'edit_connection_map' :
2019-05-06 16:59:31 +02:00
// Header.
ui_print_page_header (
__ ( 'Edit map connection' ),
'' ,
false ,
'' ,
true
);
2019-01-30 16:18:44 +01:00
$idConnectionMap = get_parameter ( 'id_connection_map' );
$mapConnection = db_get_row_sql ( 'SELECT * FROM tgis_map_connection WHERE id_tmap_connection = ' . $idConnectionMap );
$mapConnection_name = $mapConnection [ 'conection_name' ];
$mapConnection_group = $mapConnection [ 'group_id' ];
$mapConnection_numLevelsZoom = $mapConnection [ 'num_zoom_levels' ];
$mapConnection_defaultZoom = $mapConnection [ 'default_zoom_level' ];
$mapConnection_type = $mapConnection [ 'connection_type' ];
$mapConnection_defaultLatitude = $mapConnection [ 'default_latitude' ];
$mapConnection_defaultLongitude = $mapConnection [ 'default_longitude' ];
$mapConnection_defaultAltitude = $mapConnection [ 'default_altitude' ];
$mapConnection_centerLatitude = $mapConnection [ 'initial_latitude' ];
$mapConnection_centerLongitude = $mapConnection [ 'initial_longitude' ];
$mapConnection_centerAltitude = $mapConnection [ 'initial_altitude' ];
$mapConnectionData = json_decode ( $mapConnection [ 'conection_data' ], true );
html_print_input_hidden ( 'id_connection_map' , $idConnectionMap );
html_print_input_hidden ( 'action' , 'save_edit_map_connection' );
break ;
case 'save_map_connection' :
case 'save_edit_map_connection' :
$mapConnection_name = get_parameter ( 'name' );
$mapConnection_group = get_parameter ( 'group' );
$mapConnection_numLevelsZoom = get_parameter ( 'num_levels_zoom' );
$mapConnection_defaultZoom = get_parameter ( 'initial_zoom' );
$mapConnection_type = get_parameter ( 'type' );
$mapConnection_defaultLatitude = get_parameter ( 'default_latitude' );
$mapConnection_defaultLongitude = get_parameter ( 'default_longitude' );
$mapConnection_defaultAltitude = get_parameter ( 'default_altitude' );
$mapConnection_centerLatitude = get_parameter ( 'center_latitude' );
$mapConnection_centerLongitude = get_parameter ( 'center_longitude' );
$mapConnection_centerAltitude = get_parameter ( 'center_altitude' );
$idConnectionMap = get_parameter ( 'id_connection_map' , null );
switch ( $mapConnection_type ) {
case 'OSM' :
$mapConnection_OSM_url = get_parameter ( 'url' );
$mapConnectionData = [
'type' => 'OSM' ,
'url' => $mapConnection_OSM_url ,
];
break ;
case 'Gmap' :
$gmap_type = get_parameter ( 'gmap_type' );
$gmap_key = get_parameter ( 'gmap_key' );
$mapConnectionData = [
'type' => 'Gmap' ,
'gmap_type' => $gmap_type ,
'gmap_key' => $gmap_key ,
];
break ;
case 'Static_Image' :
$mapConnection_Image_url = get_parameter ( 'url' );
$bb_left = get_parameter ( 'bb_left' );
$bb_right = get_parameter ( 'bb_right' );
$bb_top = get_parameter ( 'bb_top' );
$bb_bottom = get_parameter ( 'bb_bottom' );
$image_height = get_parameter ( 'image_height' );
$image_width = get_parameter ( 'image_width' );
$mapConnectionData = [
'type' => 'Static_Image' ,
'url' => $mapConnection_Image_url ,
'bb_left' => $bb_left ,
'bb_right' => $bb_right ,
'bb_top' => $bb_top ,
'bb_bottom' => $bb_bottom ,
'image_width' => $image_width ,
'image_height' => $image_height ,
];
break ;
case 'WMS' :
$url = get_parameter ( 'url' );
$layers = get_parameter ( 'layers' );
$mapConnectionData = [
'type' => 'WMS' ,
'url' => $url ,
'layers' => $layers ,
];
break ;
2019-05-06 16:59:31 +02:00
default :
// Default.
break ;
2019-01-30 16:18:44 +01:00
}
2019-05-06 16:59:31 +02:00
// TODO VALIDATE PARAMETERS.
2019-01-30 16:18:44 +01:00
if ( $mapConnection_name != '' && $mapConnection_type != '' ) {
gis_save_map_connection (
$mapConnection_name ,
$mapConnection_group ,
$mapConnection_numLevelsZoom ,
$mapConnection_defaultZoom ,
$mapConnection_defaultLatitude ,
$mapConnection_defaultLongitude ,
$mapConnection_defaultAltitude ,
$mapConnection_centerLatitude ,
$mapConnection_centerLongitude ,
$mapConnection_centerAltitude ,
$mapConnectionData ,
$idConnectionMap
);
$errorfill = false ;
} else {
$errorfill = true ;
}
include_once 'gis.php' ;
return ;
break ;
2019-05-06 16:59:31 +02:00
default :
// Default.
break ;
2013-04-25 Miguel de Dios <miguel.dedios@artica.es>
* extensions/agents_alerts.php, extensions/snmp_explorer.php,
extensions/insert_data.php, extensions/net_tools.php,
extensions/resource_exportation.php, extensions/system_info.php,
extensions/pandora_logs.php, extensions/agents_modules.php,
godmode/reporting/reporting_builder.item_editor.php,
godmode/servers/manage_recontask_form.php,
godmode/setup/gis_step_2.php,
godmode/massive/massive_standby_alerts.php,
godmode/massive/massive_operations.php,
godmode/massive/massive_add_action_alerts.php,
godmode/massive/massive_add_alerts.php,
godmode/massive/massive_delete_agents.php,
godmode/massive/massive_delete_action_alerts.php,
operation/users/user_edit.php, operation/events/events_list.php,
operation/integria_incidents/incident.list.php,
operation/integria_incidents/incident.workunits.php,
operation/tree.php, general/shortcut_bar.php: cleaned source code
style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@8054 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2013-04-25 11:08:54 +02:00
}
2010-01-26 11:13:44 +01:00
$table -> width = '90%' ;
2019-01-30 16:18:44 +01:00
$table -> data = [];
$table -> data [ 0 ][ 0 ] = __ ( 'Connection Name' ) . ui_print_help_tip ( __ ( 'Descriptive name for the connection' ), true ) . ':' ;
$table -> data [ 0 ][ 1 ] = html_print_input_text ( 'name' , $mapConnection_name , '' , 30 , 60 , true );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 1 ][ 0 ] = __ ( 'Group' ) . ui_print_help_tip ( __ ( 'Group that owns the connection' ), true ) . ':' ;
2011-04-27 15:43:31 +02:00
$table -> data [ 1 ][ 1 ] = html_print_select_groups ( false , false , false , 'group' , $mapConnection_group , '' , __ ( 'All' ), '0' , true );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 2 ][ 0 ] = __ ( 'Number of zoom levels' ) . ':' ;
$table -> data [ 2 ][ 1 ] = html_print_input_text ( 'num_levels_zoom' , $mapConnection_numLevelsZoom , '' , 4 , 10 , true );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 3 ][ 0 ] = __ ( 'Default zoom level' ) . ui_print_help_tip ( __ ( 'Zoom level used when the map is opened' ), true ) . ':' ;
$table -> data [ 3 ][ 1 ] = html_print_input_text ( 'initial_zoom' , $mapConnection_defaultZoom , '' , 4 , 10 , true );
2010-01-26 11:13:44 +01:00
2019-05-06 16:59:31 +02:00
echo '<h4>' . __ ( 'Basic configuration' ) . ' ' . ui_print_help_icon ( 'gis_basic_configurations_tab' , true ) . '</h4>' ;
2011-04-27 15:43:31 +02:00
html_print_table ( $table );
2010-01-26 11:13:44 +01:00
$table -> width = '60%' ;
2019-01-30 16:18:44 +01:00
$table -> data = [];
$types [ 'OSM' ] = __ ( 'Open Street Maps' );
$types [ 'Gmap' ] = __ ( 'Google Maps' );
$types [ 'Static_Image' ] = __ ( 'Static Image' );
$types [ 'WMS' ] = __ ( 'WMS Server' );
$table -> data [ 0 ][ 0 ] = __ ( 'Type' ) . ':' ;
$table -> data [ 0 ][ 1 ] = html_print_select ( $types , 'sel_type' , $mapConnection_type , 'selMapConnectionType();' , __ ( 'Please select the connection type' ), 0 , true );
2019-05-06 16:59:31 +02:00
echo '<h4>' . __ ( 'Map connection type' ) . ' ' . ui_print_help_icon ( 'gis_map_connection_tab' , true ) . '</h4>' ;
2019-01-30 16:18:44 +01:00
html_print_table ( $table );
2010-01-26 11:13:44 +01:00
$optionsConnectionTypeTable = '' ;
$mapConnectionDataUrl = '' ;
2010-02-24 14:42:01 +01:00
$gmap_type = '' ;
2019-01-30 16:18:44 +01:00
$gmap_key = '' ;
2010-02-24 14:42:01 +01:00
$bb_left = '' ;
$bb_right = '' ;
$bb_bottom = '' ;
$bb_top = '' ;
$image_width = '' ;
$image_height = '' ;
2018-04-27 12:17:42 +02:00
$layers = '' ;
2010-01-26 11:13:44 +01:00
if ( $mapConnectionData != null ) {
2019-01-30 16:18:44 +01:00
switch ( $mapConnection_type ) {
case 'OSM' :
$mapConnectionDataUrl = $mapConnectionData [ 'url' ];
break ;
case 'Gmap' :
$gmap_type = $mapConnectionData [ 'gmap_type' ];
$gmap_key = $mapConnectionData [ 'gmap_key' ];
break ;
case 'Static_Image' :
$mapConnectionDataUrl = $mapConnectionData [ 'url' ];
$bb_left = $mapConnectionData [ 'bb_left' ];
$bb_right = $mapConnectionData [ 'bb_right' ];
$bb_bottom = $mapConnectionData [ 'bb_bottom' ];
$bb_top = $mapConnectionData [ 'bb_top' ];
$image_width = $mapConnectionData [ 'image_width' ];
$image_height = $mapConnectionData [ 'image_height' ];
break ;
case 'WMS' :
$mapConnectionDataUrl = $mapConnectionData [ 'url' ];
$layers = $mapConnectionData [ 'layers' ];
break ;
2019-05-06 16:59:31 +02:00
default :
// Default.
break ;
2019-01-30 16:18:44 +01:00
}
2010-01-26 11:13:44 +01:00
}
2019-01-30 16:18:44 +01:00
2019-05-06 16:59:31 +02:00
// Open Street Map Connection.
2019-01-30 16:18:44 +01:00
$optionsConnectionOSMTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">' . '<tr class="row_0">' . '<td>' . htmlentities ( __ ( 'Tile Server URL' ), ENT_QUOTES , 'UTF-8' ) . ':</td>' . '<td><input id="type" type="hidden" name="type" value="OSM" />' . html_print_input_text ( 'url' , $mapConnectionDataUrl , '' , 45 , 90 , true ) . '</td>' . '</tr>' . '</table>' ;
2010-01-26 11:13:44 +01:00
2019-05-06 16:59:31 +02:00
// Google Maps Connection.
2019-01-30 16:18:44 +01:00
$gmaps_types [ 'G_PHYSICAL_MAP' ] = __ ( 'Google Physical' );
$gmaps_types [ 'G_HYBRID_MAP' ] = __ ( 'Google Hybrid' );
$gmaps_types [ 'G_SATELITE_MAP' ] = __ ( 'Google Satelite' );
2010-02-25 12:30:56 +01:00
// TODO: Use label tags for the forms.
2019-01-30 16:18:44 +01:00
$optionsConnectionGmapTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="90%">' . '<tr class="row_0">' . '<td>' . __ ( 'Google Map Type' ) . ':</td>' . '<td><input id="type" type="hidden" name="type" value="Gmap" />' . trim ( html_print_select ( $gmaps_types , 'gmap_type' , $gmap_type , '' , '' , 0 , true )) . '</td>' . '</tr>' . '<tr class="row_2">' . '<td>' . __ ( 'Google Maps Key' ) . ':</td>' . '</tr>' . '<tr class="row_3">' . '<td colspan="2">' . html_print_input_text ( 'gmap_key' , $gmap_key , '' , 90 , 128 , true ) . '</td>' . '</tr>' . '</table>' ;
2019-05-06 16:59:31 +02:00
// Image Map Connection.
2019-01-30 16:18:44 +01:00
$optionsConnectionImageTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">' . '<tr class="row_0">' . '<td>' . __ ( 'Image URL' ) . ':</td>' . '<td colspan="3"><input id="type" type="hidden" name="type" value="Static_Image" />' . html_print_input_text ( 'url' , $mapConnectionDataUrl , '' , 45 , 90 , true ) . '</td>' . '</tr>' . '<tr class="row_1">' . '<td colspan="4"><strong>' . __ ( 'Corners of the area of the image' ) . ':</strong></td>' . '</tr>' . '<tr class="row_2">' . '<td>' . __ ( 'Left' ) . ':</td>' . '<td>' . html_print_input_text ( 'bb_left' , $bb_left , '' , 25 , 25 , true ) . '</td>' . '<td>' . __ ( 'Bottom' ) . ':</td>' . '<td>' . html_print_input_text ( 'bb_bottom' , $bb_bottom , '' , 25 , 25 , true ) . '</td>' . '</tr>' . '<tr class="row_3">' . '<td>' . __ ( 'Right' ) . ':</td>' . '<td>' . html_print_input_text ( 'bb_right' , $bb_right , '' , 25 , 25 , true ) . '</td>' . '<td>' . __ ( 'Top' ) . ':</td>' . '<td>' . html_print_input_text ( 'bb_top' , $bb_top , '' , 25 , 25 , true ) . '</td>' . '</tr>' . '<tr class="row_4">' . '<td colspan="4"><strong>' . __ ( 'Image Size' ) . ':</strong></td>' . '</tr>' . '<tr class="row_5">' . '<td>' . __ ( 'Width' ) . ':</td>' . '<td>' . html_print_input_text ( 'image_width' , $image_width , '' , 25 , 25 , true ) . '</td>' . '<td>' . __ ( 'Height' ) . ':</td>' . '<td>' . html_print_input_text ( 'image_height' , $image_height , '' , 25 , 25 , true ) . '</td>' . '</tr>' . '</table>' ;
2018-04-27 12:17:42 +02:00
2019-05-06 16:59:31 +02:00
// WMS Server Connection.
2019-01-30 16:18:44 +01:00
$optionsConnectionWMSTable = '<table class="databox" border="0" cellpadding="4" cellspacing="4" width="50%">' . '<tr class="row_0">' . '<td>' . __ ( 'WMS Server URL' ) . '</td>' . '<td>' . '<input id="type" type="hidden" name="type" value="WMS" />' . html_print_input_text ( 'url' , $mapConnectionDataUrl , '' , 90 , 255 , true ) . '</td>' . '</tr>' . '<tr class="row_1">' . '<td>' . __ ( 'Layers' ) . ui_print_help_tip ( __ ( 'Enter a single element or a comma separated list' ), true ) . '</td>' . '<td>' . html_print_input_text ( 'layers' , $layers , '' , 90 , 255 , true ) . '</td>' . '</tr>' . '</table>' ;
2018-04-27 12:17:42 +02:00
2010-01-26 11:13:44 +01:00
if ( $mapConnectionData != null ) {
2019-01-30 16:18:44 +01:00
switch ( $mapConnection_type ) {
case 'OSM' :
$optionsConnectionTypeTable = $optionsConnectionOSMTable ;
break ;
case 'Gmap' :
$optionsConnectionTypeTable = $optionsConnectionGmapTable ;
break ;
case 'Static_Image' :
$optionsConnectionTypeTable = $optionsConnectionImageTable ;
break ;
case 'WMS' :
$optionsConnectionTypeTable = $optionsConnectionWMSTable ;
break ;
2019-05-06 16:59:31 +02:00
default :
// Default.
break ;
2019-01-30 16:18:44 +01:00
}
2010-01-26 11:13:44 +01:00
}
2019-01-30 16:18:44 +01:00
echo " <div id='form_map_connection_type'> " . $optionsConnectionTypeTable . '</div>' ;
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
echo '<h4>' . __ ( 'Preview to select the center of the map and the default position of an agent without gis data' ) . '</h4><br>' ;
html_print_button ( __ ( 'Load preview map' ), 'button_refresh' , false , 'refreshMapView();' , 'class="sub"' );
echo '<br /><br />' ;
2010-02-09 18:06:25 +01:00
echo " <div id='map' style='width: 300px; height: 300px; border: 1px solid black; float: left'></div> " ;
2010-01-26 11:13:44 +01:00
2010-02-09 18:06:25 +01:00
$table -> width = '60%' ;
2019-01-30 16:18:44 +01:00
$table -> data = [];
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
// $table->colspan[0][3] = 3;
2010-02-09 18:06:25 +01:00
$table -> data [ 0 ][ 0 ] = '' ;
2019-01-30 16:18:44 +01:00
$table -> data [ 0 ][ 1 ] = __ ( 'Map Center' ) . ui_print_help_tip ( __ ( 'Position to center the map when the map is opened' ), true );
$table -> data [ 0 ][ 2 ] = __ ( 'Default position for agents without GIS data' );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 1 ][ 0 ] = __ ( 'Change in the map' ) . ui_print_help_tip ( __ ( 'This selects what to change by clicking on the map' ), true );
$table -> data [ 1 ][ 1 ] = html_print_radio_button_extended ( 'radio_button' , 1 , '' , 1 , false , 'changeSetManualPosition(true, false)' , '' , true );
$table -> data [ 1 ][ 2 ] = html_print_radio_button_extended ( 'radio_button' , 2 , '' , 0 , false , 'changeSetManualPosition(false, true)' , '' , true );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 2 ][ 0 ] = __ ( 'Latitude' ) . ':' ;
$table -> data [ 2 ][ 1 ] = html_print_input_text ( 'center_latitude' , $mapConnection_centerLatitude , '' , 10 , 10 , true );
$table -> data [ 2 ][ 2 ] = html_print_input_text ( 'default_latitude' , $mapConnection_defaultLatitude , '' , 10 , 10 , true );
2010-01-26 11:13:44 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 3 ][ 0 ] = __ ( 'Longitude' ) . ':' ;
$table -> data [ 3 ][ 1 ] = html_print_input_text ( 'center_longitude' , $mapConnection_centerLongitude , '' , 10 , 10 , true );
$table -> data [ 3 ][ 2 ] = html_print_input_text ( 'default_longitude' , $mapConnection_defaultLongitude , '' , 10 , 10 , true );
2010-02-09 18:06:25 +01:00
2019-01-30 16:18:44 +01:00
$table -> data [ 4 ][ 0 ] = __ ( 'Altitude' ) . ':' ;
$table -> data [ 4 ][ 1 ] = html_print_input_text ( 'center_altitude' , $mapConnection_centerAltitude , '' , 10 , 10 , true );
$table -> data [ 4 ][ 2 ] = html_print_input_text ( 'default_altitude' , $mapConnection_defaultAltitude , '' , 10 , 10 , true );
2011-04-27 15:43:31 +02:00
html_print_table ( $table );
2010-01-26 11:13:44 +01:00
2011-11-11 13:38:58 +01:00
echo '<div class="action-buttons" style="width: 90%; float: left;">' ;
2019-01-30 16:18:44 +01:00
html_print_submit_button ( __ ( 'Save' ), '' , false , 'class="sub save wand"' );
2010-01-26 11:13:44 +01:00
echo '</div>' ;
2019-01-30 16:18:44 +01:00
echo '</form>' ;
2010-03-02 16:13:04 +01:00
2011-04-13 18:11:02 +02:00
ui_require_javascript_file ( 'OpenLayers/OpenLayers' );
ui_require_javascript_file ( 'openlayers.pandora' );
2010-02-09 18:06:25 +01:00
?>
2010-01-26 11:13:44 +01:00
< script type = " text/javascript " >
2010-02-09 18:06:25 +01:00
var setCenter = true ;
var centerPoint = null ;
var setGISDefaultPosition = false ;
var GISDefaultPositionPoint = null ;
2010-01-26 11:13:44 +01:00
2010-02-09 18:06:25 +01:00
/**
* Set the item to change , the center point or the center default .
*
* @ param boolean stCenter Set center point for changing .
* @ param boolean stGISDefault Set GISDefault point for changing .
*
* @ return None
*/
function changeSetManualPosition ( stCenter , stGISDefault ) {
2019-01-30 16:18:44 +01:00
setCenter = stCenter ;
setGISDefaultPosition = stGISDefault ;
2010-02-09 18:06:25 +01:00
}
/**
* The callback function when click the map . And make or move the points .
*
* @ param object e The object of openlayer , that it has the parammeters of click .
*
* @ return None
*/
function changePoints ( e ) {
2019-01-30 16:18:44 +01:00
var lonlat = map . getLonLatFromViewPortPx ( e . xy );
lonlat . transform ( map . getProjectionObject (), map . displayProjection ); //transform the lonlat in object proyection to "standar proyection"
if ( setCenter ) {
//Change the fields
center_latitude = $ ( 'input[name=center_latitude]' ) . val ( lonlat . lat );
center_longitude = $ ( 'input[name=center_longitude]' ) . val ( lonlat . lon );
if ( centerPoint == null ) {
centerPoint = js_addPointExtent ( 'temp_layer' , '<?php echo __(' Center '); ?>' , lonlat . lon , lonlat . lat , 'images/dot_green.png' , 11 , 11 , 'center' , '' );
}
else {
//return to no-standar the proyection for to move
centerPoint . move ( lonlat . transform ( map . displayProjection , map . getProjectionObject ()));
}
}
if ( setGISDefaultPosition ) {
//Change the fields
center_latitude = $ ( 'input[name=default_latitude]' ) . val ( lonlat . lat );
center_longitude = $ ( 'input[name=default_longitude]' ) . val ( lonlat . lon );
if ( GISDefaultPositionPoint == null ) {
GISDefaultPositionPoint = js_addPointExtent ( 'temp_layer' , '<?php echo __(' Default '); ?>' , lonlat . lon , lonlat . lat , 'images/dot_red.png' , 11 , 11 , 'default' , '' );
}
else {
//return to no-standar the proyection for to move
GISDefaultPositionPoint . move ( lonlat . transform ( map . displayProjection , map . getProjectionObject ()));
}
}
2010-01-26 11:13:44 +01:00
}
2010-02-09 18:06:25 +01:00
/**
* Function to show and refresh the map . The function give the params for map of
* fields . And make two points , center and default .
*/
function refreshMapView () {
2019-01-30 16:18:44 +01:00
switch ( $ ( '#sel_type :selected' ) . val ()) {
case 'Gmap' :
//TODO: Validate there is a key, and use it
gmap_key = $ ( 'input[name=gmap_key]' ) . val ();
var script = document . createElement ( " script " );
script . type = " text/javascript " ;
script . src = 'http://www.google.com/jsapi?key=' + gmap_key + '&callback=loadGoogleMap' ;
//script.src = 'http://www.google.com/jsapi?key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTS6gjckBmeABOGXIUiOiZObZESPg&callback=loadGoogleMap';
document . getElementsByTagName ( " head " )[ 0 ] . appendChild ( script );
//TODO: paint the gif clock for waiting the request.
break ;
default :
refreshMapViewSecondStep ();
break ;
}
2010-03-02 16:13:04 +01:00
2010-02-09 18:06:25 +01:00
}
2010-03-02 16:13:04 +01:00
/**
* Function to show and refresh the map . The function give the params for map of
* fields . And make two points , center and default .
*/
function refreshMapViewSecondStep () {
2019-01-30 16:18:44 +01:00
//Clear the previous map.
map = null ;
$ ( " #map " ) . html ( '' );
//Clear the points.
centerPoint = null ;
GISDefaultPositionPoint = null ;
//Change the text to button.
$ ( " input[name=button_refresh] " ) . val ( '<?php echo __(' Refresh preview map '); ?>' );
//Obtain data of map of fields.
inital_zoom = $ ( 'input[name=initial_zoom]' ) . val ();
num_levels_zoom = $ ( 'input[name=num_levels_zoom]' ) . val ();
center_latitude = $ ( 'input[name=center_latitude]' ) . val ();
center_longitude = $ ( 'input[name=center_longitude]' ) . val ();
center_altitude = $ ( 'input[name=center_altitude]' ) . val ();
var objBaseLayers = Array ();
objBaseLayers [ 0 ] = {};
objBaseLayers [ 0 ][ 'type' ] = $ ( 'select[name=sel_type] :selected' ) . val ();
objBaseLayers [ 0 ][ 'name' ] = $ ( 'input[name=name]' ) . val ();
objBaseLayers [ 0 ][ 'url' ] = $ ( 'input[name=url]' ) . val ();
// type Gmap
objBaseLayers [ 0 ][ 'gmap_type' ] = $ ( 'select[name=gmap_type] option:selected' ) . val ();
objBaseLayers [ 0 ][ 'gmap_key' ] = $ ( 'input[name=gmap_key]' ) . val ();
// type Static Image
objBaseLayers [ 0 ][ 'bb_left' ] = $ ( 'input[name=bb_left]' ) . val ();
objBaseLayers [ 0 ][ 'bb_right' ] = $ ( 'input[name=bb_right]' ) . val ();
objBaseLayers [ 0 ][ 'bb_bottom' ] = $ ( 'input[name=bb_bottom]' ) . val ();
objBaseLayers [ 0 ][ 'bb_top' ] = $ ( 'input[name=bb_top]' ) . val ();
objBaseLayers [ 0 ][ 'image_width' ] = $ ( 'input[name=image_width]' ) . val ();
objBaseLayers [ 0 ][ 'image_height' ] = $ ( 'input[name=image_height]' ) . val ();
// type WMS
objBaseLayers [ 0 ][ 'layers' ] = $ ( 'input[name=layers]' ) . val ();
arrayControls = null ;
arrayControls = Array ( 'Navigation' , 'PanZoom' , 'MousePosition' );
js_printMap ( 'map' , inital_zoom , center_latitude , center_longitude , objBaseLayers , arrayControls );
layer = js_makeLayer ( 'temp_layer' , true , null );
centerPoint = js_addPointExtent ( 'temp_layer' ,
'<?php echo __(' Center '); ?>' ,
$ ( 'input[name=center_longitude]' ) . val (),
$ ( 'input[name=center_latitude]' ) . val (),
'images/gis_map/icons/circle.default.png' , 11 , 11 , 'center' , '' );
GISDefaultPositionPoint = js_addPointExtent ( 'temp_layer' ,
'<?php echo __(' Default '); ?>' ,
$ ( 'input[name=default_longitude]' ) . val (),
$ ( 'input[name=default_latitude]' ) . val (),
'images/gis_map/icons/cross.default.png' , 11 , 11 , 'default' , '' );
js_activateEvents ( changePoints );
2010-03-02 16:13:04 +01:00
}
2010-03-01 21:42:49 +01:00
function validateGmapsParamtres () {
2019-01-30 16:18:44 +01:00
gmap_key = $ ( 'input[name=gmap_key]' ) . val ();
if ( gmap_key == " " ) {
$ ( 'input[name=gmap_key]' ) . css ( 'background-color' , 'red' );
}
else {
refreshMapViewSecondStep ();
}
2010-03-01 21:42:49 +01:00
}
2010-03-02 16:13:04 +01:00
2010-03-01 21:42:49 +01:00
function loadGoogleMap () {
2019-01-30 16:18:44 +01:00
google . load ( " maps " , " 2 " , { " callback " : validateGmapsParamtres });
2010-03-01 21:42:49 +01:00
}
2010-02-09 18:06:25 +01:00
/**
* Dinamic write the fields in form when select a type of connection .
*/
2010-01-26 11:13:44 +01:00
function selMapConnectionType () {
2019-01-30 16:18:44 +01:00
$ ( '#form_map_connection_type' ) . fadeOut ( " normal " );
switch ( $ ( '#sel_type :selected' ) . val ()) {
case 'OSM' :
$ ( '#form_map_connection_type' ) . html ( '<?php echo $optionsConnectionOSMTable; ?>' ) . hide ();
break ;
case 'Gmap' :
// TODO: Validate there is a key, and use it
$ ( '#form_map_connection_type' ) . html ( '<?php echo $optionsConnectionGmapTable; ?>' ) . hide ();
break ;
case 'Static_Image' :
$ ( '#form_map_connection_type' ) . html ( '<?php echo $optionsConnectionImageTable; ?>' ) . hide ();
break ;
case 'WMS' :
$ ( '#form_map_connection_type' ) . html ( '<?php echo $optionsConnectionWMSTable; ?>' ) . hide ();
break ;
default :
$ ( '#form_map_connection_type' ) . html ( '' ) . hide ();
break ;
}
$ ( '#form_map_connection_type' ) . fadeIn ( " normal " );
2010-01-26 11:13:44 +01:00
}
2010-02-23 15:47:41 +01:00
</ script >