Ok ho trovato come trovare le coordinate del centro della mappa, ora mi rimane un piccolo problema: invece di aprire una infowindow cliccando sulla mappa vorrei utilizzare un pulsante. Il codice per creare un pulsante aggiuntivo sulla mappa l'ho trovato però fa altre cose, adesso vi posto il codice che uso ma più sotto entro nel dettaglio
Codice PHP:
function aggiungi_controllo(label, tooltip, mappa, position, onClickFunction) {
var controlDiv = document.createElement('DIV');
controlDiv.style.padding = '5px 0';
controlDiv.index = 1;
var controlUI = document.createElement('DIV');
controlUI.style.backgroundColor = 'white';
controlUI.style.borderStyle = 'solid';
controlUI.style.borderWidth = '2px';
controlUI.style.padding = '0 8px';
controlUI.style.cursor = 'pointer';
controlUI.style.textAlign = 'center';
controlUI.title = tooltip;
controlDiv.appendChild(controlUI);
var controlText = document.createElement('DIV');
controlText.style.fontFamily = 'Arial,sans-serif';
controlText.style.fontSize = '12px';
controlText.style.paddingLeft = '4px';
controlText.style.paddingRight = '4px';
controlText.innerHTML = label;
controlUI.appendChild(controlText);
google.maps.event.addDomListener(controlUI, 'click', onClickFunction);
mappa.controls[position].push(controlDiv);
}
function inizializza_mappa(){
var coordinate_centro_mappa = new google.maps.LatLng(42.000325, 12.568359);
var opzioni = {
zoom: 5,
center: coordinate_centro_mappa,
mapTypeId: google.maps.MapTypeId.HYBRID,
}
mappa = new google.maps.Map(document.getElementById("mappa"), opzioni) ;
var zoom_iniziale = opzioni.zoom ;
var coordinate_iniziali = opzioni.center ;
var vista_iniziale = opzioni.mapTypeId ;
aggiungi_controllo('Posizione iniziale', 'Riporta la mappa alle condizioni iniziali', mappa,google.maps.ControlPosition.TOP_RIGHT, function() {
mappa.setCenter(coordinate_iniziali);
mappa.setZoom(zoom_iniziale);
mappa.setMapTypeId(vista_iniziale);
});
var finestra_informazione ;
google.maps.event.addListener(mappa, 'click', function(event) { if (finestra_informazione) { finestra_informazione.close(); }
var testo = '[b]Coordinate centro mappa[/b]
' + mappa.getCenter() ;
finestra_informazione = new google.maps.InfoWindow({content: testo});
finestra_informazione.setPosition(mappa.getCenter());
finestra_informazione.open(mappa);
}) ;
}
Praticamente con la funzione aggiungi controllo si riporta la mappa alle stesse condizioni dopo eventuali zoommate o spostamenti.
Ecco a me servirebbe invece che quel pulsante aprisse la finestra_informazione, ci sto provando ma senza risultati. Purtroppo io col javascript non vado daccordo
Per chi volesse vedere lo script in azione eccolo qui http://gmapsv3.4null.net/_0170_memor...postazioni.php