Ciao a tutti,
questo è il mio primo post qui.
Sto provando a sviluppare il mio primo componente e tutto sommato funziona.
Ho solo un problema nell'integrare google maps all'interno del codice.
Il problema è attivare la funzione load per il caricamento del codice google.
Negli esempi G si fa la chiamata nel <body onload="load()" onunload="GUnload()">....
ora come faccio in joomla a chiamarla?
ho provato una serie di metodi, ma nessuno funziona
tra cui il seguente codice
<script type='text/javascript'>
// Cross-browser implementation of element.addEventListener()
function listen(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
else if (elem.attachEvent) { // IE DOM
var r = elem.attachEvent("on"+evnt, func);
return r;
}
else window.alert('I\'m sorry Dave, I\'m afraid I can\'t do that.');
}
// Use: listen("event name", elem, func);
listen("load", window, function() {load });
</script>
questo codice l'ho messo nella pagina miocomponente.html.php....
Avete suggerimenti?
Riporto il codice delle pagine:
- miocomponente.php
<?php
//no direct access
defined('_JEXEC') or die('Restricted access');
$javascript = "
</script>
<script src=\"http://maps.google.com/maps?file=api&v=2&key=miachiave\" type=\"text/javascript\"></script>
<script type='text/javascript'>
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById(\"map\"));
map.addControl(new GMapTypeControl());
map.addMapType(G_PHYSICAL_MAP);
map.addMapType(G_SATELLITE_3D_MAP);
map.addControl(new GSmallMapControl());
map.addControl(new GScaleControl());
map.addControl(new GOverviewMapControl());
map.enableScrollWheelZoom();
map.setMapType(G_PHYSICAL_MAP);
map.setCenter(new GLatLng(37.4419, -122.1419), 13);
map.setUIToDefault();
}
}
";
$documento->addScriptDeclaration($javascript);
echo '<div class="componentheading">Allarma</div>';
jimport('joomla.application.helper');
require_once(JApplicationHelper::getPath('html'));
JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.$option.DS.'tables');
switch($task) {
default:
showAllarmi($option);
break;
}
function showAllarmi($option) {
HTML_allarmi::showAllarmi('', $option);
}
?>
- miocomponente.html.php
<?php
//no direct access
defined('_JEXEC') or die('Restricted access');
class HTML_allarmi {
function showAllarmi($rows, $option) {
?>
<script type='text/javascript'>
// Cross-browser implementation of element.addEventListener()
function listen(evnt, elem, func) {
if (elem.addEventListener) // W3C DOM
elem.addEventListener(evnt,func,false);
else if (elem.attachEvent) { // IE DOM
var r = elem.attachEvent("on"+evnt, func);
return r;
}
else window.alert('I\'m sorry Dave, I\'m afraid I can\'t do that.');
}
// Use: listen("event name", elem, func);
listen("load", window, function() {load });
</script>
<div id="map" style="width: 500px; height: 500px; position: relative;"></div>
<?php
}
}
?>
Ciao e grazie a tutti
Beppe