var gmap = new GMap2(document.getElementById('google_div'));
gmap.setCenter(new GLatLng(39.70453, -8.12714), 4);
gmap.enableScrollWheelZoom();
var smap = new SAPO.Maps.Map('sapo_div');
Se pretender que não seja possível fazer zoom com a roda do rato, deve invocar o seguinte método:
smap.disableScrollWheelZoom()
Se pretender que não seja possível arrastar o mapa com o rato deve invocar o seguinte método:
smap.disableDragging()
Neste exemplo, são adicionados os controlos de zoom e troca de vista sobre o mapa.
gmap.addControl(new GSmallMapControl()); gmap.addControl(new GMapTypeControl());
smap.addControl(new SAPO.Maps.Control.MapTypeControl()); smap.addControl(new SAPO.Maps.Control.NavigationControl());
Neste exemplo altera-se o tipo de vista do mapa para a vista híbrida.
gmap.setMapType(G_HYBRID_MAP);
smap.setBaseLayer(smap.getBaseLayers().HYBRID_MAP);
Neste exemplo é adicionado um marcador arrastável sobre o mapa.
var marker = new GMarker(new GLatLng(38, -9), {draggable: true});
gmap.addOverlay(marker);
var marker = new SAPO.Maps.Marker(new OpenLayers.LonLat(-9, 38),
{draggable: true});
smap.addOverlay(marker);
Ao clicar num marcador, neste exemplo abre-se uma infoWindow (ou um popup) com o texto “Hello World!”.
var html = '<h1>Hello World!</h1>';
GEvent.addListener(marker, 'click', function(latlon){ marker.openInfoWindow(html); });
var html = '<h1>Hello World!</h1><br />';
marker.registerEvent('click', this, function(marker){ marker.openPopup(html); });
Neste exemplo adiciona-se sobre o mapa uma linha que passa por pontos definidos pelo utilizador.
var polyline = new GPolyline( [new GLatLng(31.27559953357264, -3.293155625192997), new GLatLng(40.04179395913183, -1.0079993752842318), new GLatLng(42.22596032057589, -6.281436875073691)], "#FF00FF", 3, 0.5); gmap.addOverlay(polyline);
var polyline = new SAPO.Maps.Polyline(
[new OpenLayers.LonLat(-3.293155625192997, 31.27559953357264),
new OpenLayers.LonLat(-1.0079993752842318, 40.04179395913183),
new OpenLayers.LonLat(-6.281436875073691, 42.22596032057589) ],
{ strokeColor: "#FF00FF",
strokeWidth: 3,
strokeOpacity: 0.5
});
smap.addOverlay(polyline);
Neste exemplo quando se clica em cima da linha, o estilo desta é alterado.
GEvent.addListener(polyline, 'click', function(latlon){
polyline.setStrokeStyle({
color: "#FFFFFF",
weight: 6,
opacity: 1
});
});
polyline.registerEvent('click', this, function(polyline){
polyline.setStyle({
strokeColor: "#FFFFFF",
strokeWidth: 6,
strokeOpacity: 1
});
});
Neste exemplo é adicionado um polígono com as arestas definidas nos pontos dados pelo utilizador.
var polygon = new GPolygon( [new GLatLng(48.86244306657123, 8.835750624322754), new GLatLng(36.17056935092968, 11.03301624923503), new GLatLng(36.947132080844966, 23.337703748743763), new GLatLng(49.26555120881505, 20.613094373852547)], "#FF00FF", 2, 0.5, "#FF00FF", 0.5); gmap.addOverlay(polygon);
var polygon = new SAPO.Maps.Polygon(
[new OpenLayers.LonLat(8.835750624322754, 48.86244306657123),
new OpenLayers.LonLat(11.03301624923503, 36.17056935092968),
new OpenLayers.LonLat(23.337703748743763, 36.947132080844966),
new OpenLayers.LonLat(20.613094373852547, 49.26555120881505)],
{
strokeColor: "#FF00FF",
strokeOpacity: 0.5,
strokeWidth: 2,
fillColor: '#FF00FF',
fillOpacity: 0.5
});
smap.addOverlay(polygon);
Neste exemplo, quando se clica em cima do polígono, o estilo deste é alterado.
GEvent.addListener(polygon, 'click', function(latlng){
polygon.setFillStyle({
color: "#FFFFFF",
opacity: 1
});
polygon.setStrokeStyle({
color: "#FFFFFF",
weight: 6,
opacity: 1
});
});
polygon.registerEvent('click', this, function(polygon){
polygon.setStyle({
strokeColor: "#FFFFFF",
strokeOpacity: 1,
strokeWidth: 6,
fillColor: '#FFFFFF',
fillOpacity: 1 });
});
Neste exemplo demonstra-se como se poderá associar eventos ao mapa e executar código conforme o tipo de evento adicionado.
GEvent.addListener(gmap, 'click', function(){ debug('clicked on google map'); });
smap.events.register('click', this, function(evt){ debug('clicked on sapo map'); });