');
// Add ArcGIS js API
drupal_set_html_head($script . 'src="http://serverapi.arcgisonline.com/jsapi/gmaps/?v=1.6">');
// Setup Map Id
drupal_add_js(array('gmap_arcgis' => array('id' => $map['id'])), 'setting');
/**
* Setup polygons and labels. Labels have the following format:
*
* $map['arcgis']['labels'] = array($layer1 [, $layer2 [,... $layerN]]);
*
* Where $layer is
*
* $layer = array($layer_uri, $fields, $content, $icon);
*
* Where $layer_uri is a MapService layer, $fields is an array with
* a pair of layer fields to pass to the query, $content is a string
* with the content to display for each marker and $icon is an array
* with parameteres from a GIcon class
*
* $icon = array($shadow, $image, $info_size, $shadow_size,
* $info_anchor, $info_window_anchor);
*
* For more info on the GIcon class, see
* http://code.google.com/intl/pt-BR/apis/maps/documentation/reference.html#GIcon
*
* Example:
*
* $labels = array(
* array("http://mapservice/layer1", array('id', 'name'), array(
* NULL, 'http://path/to/icon.png',
* array(20, 34), array(37, 34), array(9, 34), array(9, 2)
* )
* ),
* array("http://mapservice/layer2"),
* );
*/
/**
* The code below provides titles on markers
*/
//if(is_array($map['markers'])) {
// array_walk($map['markers'], 'add_title_on_marker');
//}
if (isset($map['arcgis']['polygons'])) {
drupal_add_js(array('gmap_arcgis' => array('polygons' => $map['arcgis']['polygons'])), 'setting');
}
if (isset($map['arcgis']['labels'])) {
drupal_add_js(array('gmap_arcgis' => array('labels' => $map['arcgis']['labels'])), 'setting');
}
/* $map['markers'][] = array(
'latitude' => '-22.7559207',
'longitude' => '-48.1640625',
'markername' => 'Eventos',
'offset' => 0,
'text' => 'Um teste',
'opts' => array(
'title' => 'Teste de evento',
'nid' => 10853,
'category' => 'marker_uc',
),
); */
// print views_embed_view('eventos');
/*
$my_content_view = views_get_view('eventos');
$my_content_view->build('default');
$my_content_view->execute('default');
$results = $my_content_view->result;
foreach($results AS $r) {
// Format the Body of the ballon
$inicio = format_date($r->event_unix_event_start);
$fim = format_date($r->event_unix_event_end);
$body = '
';
$body .= "
$r->node_title
";
$body .= "
$r->node_revisions_body
-
Data inĂcio: $inicio
- Data fim $fim
";
$body .= '
';
$data['latitude'] = $r->location_latitude;
$data['longitude'] = $r->location_longitude;
$data['title'] = $r->node_title;
$data['offset'] = 0;
$data['nid'] = $r->nid;
$data['body'] = $body;
$data['category'] = 'marker_uc';
__addMarker(&$map, $data);
} */
// Add custom js
$gmap_arcgis_path = drupal_get_path('module', 'gmap_arcgis') . '/';
drupal_add_js($gmap_arcgis_path . 'gmap_arcgis.js');
//jquery_ui_add('ui.dialog');
jquery_ui_add('effects.fold');
jquery_ui_add('effects.explode');
jquery_ui_add('effects.core');
jquery_ui_add('ui.slider');
$path_ui_css = drupal_get_path('module', 'jquery_ui');
drupal_add_css($path_ui_css . '/jquery.ui/themes/default/ui.all.css');
drupal_add_js('showOverlay();', 'inline', 'footer');
}
}
}
/**
* Set the title of the marker;
* @param array $marker
*/
function add_title_on_marker(&$marker) {
if (!empty($marker['text'])) {
$dom = new DOMDocument();
$dom->loadHTML($marker['text']);
//$dom->preserveWhiteSpace = false;
$divs = $dom->getElementsByTagName('div');
if ($divs) {
foreach ($divs AS $div) {
if ($div->getAttribute('id') === 'nid') {
$x = node_load($div->nodeValue);
$titulo = $x->field_categoria[0]['value'] . ' ' . $x->field_preposicao[0]['value'] . ' ' . $x->title;
$marker['opts'] = array('title' => $titulo, 'nid' => $div->nodeValue, 'category' => 'marker_uc');
}
}
}
}
}
/**
* Wrapper to add custom markers on map. Need to be out somewhere
* @param array marker
*/
function __addMarker(&$map, $data) {
$map['markers'][] = array(
'latitude' => $data['latitude'],
'longitude' => $data['longitude'],
'markername' => $data['markername'],
'offset' => $data['offset'],
'text' => $data['body'],
'opts' => array(
'title' => $data['title'],
'nid' => $data['nid'],
'category' => $data['category'],
),
);
}
/**
* Implementation of hook_block()
*/
function gmap_arcgis_block($op='list', $delta=0, $edit=array()) {
global $map;
switch ($op) {
case 'list':
$blocks[0]['info'] = t('Protected areas list');
return $blocks;
case 'view':
$blocks['subject'] = t('Protected areas list');
$blocks['content'] = drupal_get_form('uc_form') .
'';
return $blocks;
case 'configure':
case 'save':
}
}
function gmap_arcgis_link_nota_tecnica() {
// global $base_url;
//$str = http://uc.socioambiental.org/quem-somos#
return l(t('Sources'), 'quem-somos', array('fragment' => 'tabset-tab-3', 'external' => TRUE));
}