Smartphone, Internet, social network, web 2.0, agenda digitale: queste sono le parole che accompagnano le nostre vite sempre pi connesse in un mondo digitale. Il recente censimento della popolazione ha dimostrato come gli Italiani non siano cos arretrati come si pensava.
Opportunit. Questa la parola chiave che gli Enti Pubblici dovrebbero comunicare ai propri cittadini. La partecipazione pubblica una delle risposte che tutti noi vorremo sentire.
Il mondo del 2.0 ha aperto le porte a possibilit inaspettate per la partecipazione dei cittadini. 3DGIS attiva da anni nel settore della partecipazione pubblica, innovando e proponendo soluzioni allavanguardia.
Gestire un piccolo datacenter allinterno della propria organizzazione non sempre la scelta giusta: servono investimenti su hardware e personale capace nella gestione della stessa.
La sicurezza e la continuit di servizio non inoltre facilmente manutenibile senza dovuti accorgimenti, che complicano la gestione dellinfrastruttura stessa.
Backup, disaster recovery, risk management e uptime sono solo una piccola parte delle cose da considerare. Senza considerare la scalabilit della piattaforma durante la crescita del progetto.
Utilizzando il cloud, programmi e dati sono posti in uninfrastruttura server virtuale allinterno di numerosi data center distribuiti su scala italiana, europea o mondiale.
1. Comparing examines how things are alike and different based on common characteristics, while classifying considers how items are similar and groups them based on similarities.
2. Creating metaphors uses figures of speech to suggest a likeness between two unlike objects or ideas, such as "love is a rose." Creating analogies finds relationships between pairs of elements to explain unfamiliar concepts.
3. Both comparing and creating analogies involve identifying similarities and differences, while classifying and creating metaphors involve grouping items based on common traits.
This is the Power of Story Part 1: Discover Your Story presentation delivered September 28th, 2010 as part of a joint presentation with Michael Chriswell and Mark Carbone at the UCF Executive Development Center in Downtown Orlando. Sponsored by Lifework Leadership, First Monday and the Intelligent Office.
Welcome to Proto.in January Edition '08vijay.proto
?
Proto.in published its January 2008 edition focused on philosophy and providing a summary of their journey so far. They introduce upcoming plans and projects while also sharing some final thoughts on seeing the bigger picture.
The document discusses reinforcing student effort and providing recognition to increase achievement. It outlines research showing that explicitly teaching students about the relationship between effort and achievement can improve performance. Effective recognition involves personalizing praise for meeting standards and using abstract symbols rather than tangible rewards. Recognition should be contingent on attaining goals and not just participating in activities.
Android Frameworks for Geolocalized Apps Development: Diane, Hermes, Polaris/...Massimiliano Leone
?
A short presentation for my bachelor thesis, about 5 frameworks for development of geolocalized Android apps:
- Diane: for an awareness searching
- Hermes: a different mvc in android
- Polaris/Kusor: a better solution for location retrieving
- Socrates: a Google Places Api library, in pure Java
- Ulysses: a specific use of Diane, for aware search of places from Google Places - that is: the summa of Diane and Socrates.
Code available on github:
https://github.com/k0smik0/diane
https://github.com/k0smik0/hermes
https://github.com/k0smik0/polaris
https://github.com/k0smik0/kusor
https://github.com/k0smik0/socrates
https://github.com/k0smik0/ulysses
I linguaggi del web - seconda edizione (3 giornata)Diego La Monica
?
Modulo 4 C AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 C ARIA e laccessibilit lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e propriet
- Strumenti per lo sviluppo accessibile
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
?
Le applicazioni mobili sono osservati speciali. Ma come decidere se sviluppare un'App Nativa o un'App Ibrida e quali sono i costi da sostenere? Questo ed altro stato discusso a SMAU Milano 2016.
1. Comparing examines how things are alike and different based on common characteristics, while classifying considers how items are similar and groups them based on similarities.
2. Creating metaphors uses figures of speech to suggest a likeness between two unlike objects or ideas, such as "love is a rose." Creating analogies finds relationships between pairs of elements to explain unfamiliar concepts.
3. Both comparing and creating analogies involve identifying similarities and differences, while classifying and creating metaphors involve grouping items based on common traits.
This is the Power of Story Part 1: Discover Your Story presentation delivered September 28th, 2010 as part of a joint presentation with Michael Chriswell and Mark Carbone at the UCF Executive Development Center in Downtown Orlando. Sponsored by Lifework Leadership, First Monday and the Intelligent Office.
Welcome to Proto.in January Edition '08vijay.proto
?
Proto.in published its January 2008 edition focused on philosophy and providing a summary of their journey so far. They introduce upcoming plans and projects while also sharing some final thoughts on seeing the bigger picture.
The document discusses reinforcing student effort and providing recognition to increase achievement. It outlines research showing that explicitly teaching students about the relationship between effort and achievement can improve performance. Effective recognition involves personalizing praise for meeting standards and using abstract symbols rather than tangible rewards. Recognition should be contingent on attaining goals and not just participating in activities.
Android Frameworks for Geolocalized Apps Development: Diane, Hermes, Polaris/...Massimiliano Leone
?
A short presentation for my bachelor thesis, about 5 frameworks for development of geolocalized Android apps:
- Diane: for an awareness searching
- Hermes: a different mvc in android
- Polaris/Kusor: a better solution for location retrieving
- Socrates: a Google Places Api library, in pure Java
- Ulysses: a specific use of Diane, for aware search of places from Google Places - that is: the summa of Diane and Socrates.
Code available on github:
https://github.com/k0smik0/diane
https://github.com/k0smik0/hermes
https://github.com/k0smik0/polaris
https://github.com/k0smik0/kusor
https://github.com/k0smik0/socrates
https://github.com/k0smik0/ulysses
I linguaggi del web - seconda edizione (3 giornata)Diego La Monica
?
Modulo 4 C AJAX
- Interazioni client/server
- Framework a confronto:
- jQuery
- Mootools
- YUI
- JAST
Modulo 5 C ARIA e laccessibilit lato client
- Prendere un po' di ARIA
- Le tecnologie assistive
- Ruoli, stati e propriet
- Strumenti per lo sviluppo accessibile
Applicazioni mobili: strumenti, costi soluzioni e peformanceDiego La Monica
?
Le applicazioni mobili sono osservati speciali. Ma come decidere se sviluppare un'App Nativa o un'App Ibrida e quali sono i costi da sostenere? Questo ed altro stato discusso a SMAU Milano 2016.
Esploriamo docker per scegliere tra un'approccio monolitico tramite le VM o un approccio modulare per una gestione pi efficiente e leggera delle applicazioni in ambiente Linux.
Negli ultimi anni l'utilizzo di piattaforme Cloud per la fornitura di servizi web sta diventando una soluzione sempre pi diffusa ed economicamente vantaggiosa, ma che a volte non sembra essere stata ancora ben assimilata da parte di chi si occupa della progettazione e sviluppo dei servizi.
In questa tesi si dunque voluto dare una descrizione di come vada progettata l'architettura di un'applicazione che possa essere efficientemente utilizzata in piattaforme cloud, cos da poter sfruttarne al meglio le caratteristiche e gli strumenti li' messi a disposizione. Per far ci sono state dapprima studiate le principali differenze che sussistono tra una piattaforma non cloud ed una cloud.
Per dare maggior validit al lavoro svolto stato preso in esame GeoServer, uno dei server geospaziali open source maggiormente utilizzati progettato ancora secondo un'architettura client/server classica, ma che dati i servizi offerti trarrebbe molti vantaggi da un suo utilizzo in ambienti Cloud.
Sono stati quindi individuati i limiti architetturali di GeoServer che non ne consentono un buon utilizzo su piattaforme cloud, proponendo poi delle modifiche che consentono il superamento di tali limiti mantenendone comunque inalterate le funzionalit.
Infine sono stati condotti dei test, usando come piattaforma Cloud Amazon AWS, per dimostrare i vantaggi della nuova architettura e confrontare alcune possibili alternative d'implementazione.
Immaginiamo un modo diverso di concepire la struttura di un pacchetto software che ci consenta di spaziare tra affidabilit e scalabilit. Sulla costruzione ci affidiamo alle risorse infinite di un PublicCloud, di cui monitorare i costi infrastrutturali per evitare di scendere sotto il break even point nel rapporto Costi/Ricavi. Pensare il software come una nuvola di processi staccati che colloquiano tra loro, ci da maggiore flessibilit (la singola ape sacrificabile e sostituibile nel contesto dello sciame), mentre il concetto di Alveare come concentrazione dei dati raccolti/elaborati, ci permette di semplificare e gestire meglio il problema CONSISTENZA. Avremo cos agenti semplici e rimpiazzabili in modo automatico che TRASPORTANO dati dallacquisizione allo storage (Alveare), in cui, altri moduli manipoleranno e gestiranno il Miele. Abbiamo trasformato il problema da: gestiamo pochi oggetti complessi (VM) in gestiamo tantissimi moduli semplici (Container), come li coordiniamo??? Kubernets una possibile risposta.
Wearable Lab: Progettazione per Apple WatchPaolo Musolino
?
Le applicazioni mobile hanno trovato diffusione su larga scala attraverso gli smartphone. Oggi queste app hanno un nuovo modo di essere portate in mobilit grazie ad Apple Watch, un dispositivo wearable capace di sfoggiare una interfaccia familiare come quella di iOS. Ma progettare app per lApple Watch pone gli sviluppatori e i designer di fronte ad una nuova sfida ancora pi audace: con un piccolo schermo c molto meno spazio per linterazione dellutente. In questo lab tenuto a Todi Appy Days 2015, assieme all'amico Erik Peruzzi ho spiegato quali sono le possibilit offerta da Apple Watch, come farlo comunicare con iPhone, e cosa possiamo aspettarci nel breve periodo grazie allintroduzione di Watch OS 2.
MySQL Tech Tour 2016 - Panoramica sul progetto OpenstackPar-Tec S.p.A.
?
In occasione dellOracle MySQL Tech Tour 2016, il TechAdvisor Michelangelo Uberti ha fornito una panoramica generale del progetto OpenStack.
I punti trattati durante la presentazione sono:
- Introduzione a OpenStack
- OpenStack vs. Virtualizzazione tradizionale
- Presentazione dellofferta di servizi dedicata
Per saperne di pi, scaricate le slide e guardate il video della presentazione del nostro TechAdvisor su http://www.par-tec.it/panoramica-sul-progetto-openstack
Angular js o React? Spunti e idee per la scelta di un frameworkGiovanni Buffa
?
Come poter scegliere un framework da utilizzare in un progetto per una web applications? Durante questo workshop analizzeremo le parti fondamentali di AngularJs e React, in modo da capire pregi e difetti di ognungo dei due principali strumenti di sviluppo.
slide realtive al prossimo workshop di Limulo presso la Sala Dogana a Genova il 26/10/2013 in occassione del festival Electropark 2013 organizzato dai ragazzi del collettivo Forevergreen.fm.
Workshop "Prototipo 3, ovvero il diario di bordo per la realizzazione di una superficie interattiva". Un racconto delle idee, delle sfide, del percorso che da una proposta semiseria ha portato alla costruzione di un vero strumento polifunzionale, interattivo, divertente, colorato, rumoroso. A cura di Limulo Lab
qui il link per l'articolo completo sul sito: http://www.limulo.net/limulo-electropark-2013 .
Durante la mia lunga e intima amicizia con Lotus Holmes, non lo avevo mai inteso parlare del package com.ibm.notes.java.ui prima del rilascio della versione 8.5.
Presente inizialmente come "undocumented feature", il mistero fu svelato grazie all'aiuto degli Irregolari di Eclipse Street.
Da quel giorno fu possibile creare plug-ins per il client Notes in grado, ad esempio, di interagire con i documenti selezionati in una vista, evitando di replicare lo stesso agente su ciascun database per tutte quelle sempreverdi necessit di front-end (modifica di campi, aggiunta di autori e lettori, e cos via) o di esportare dati dal documento o dalla vista attivi a fogli di calcolo o documenti Lotus Symphony.
Un'ulteriore prova, se mai ce ne fosse stato bisogno, che l'unica risposta possibile per tutte quelle domande relative al miglior software per la collaborazione e il group working, orientato all'integrazione con strumenti di desktop office una e una soltanto: ?Elementare: Notes!?.
Caso risolto.
1. 24 Ottobre 2009
Italians iPhone Developers meeting @ VeneziaCamp2009
Eduard Roccatello <eduard@roccatello.it>
2. ? GIS e Geolocalizzazione
? CoreLocation Framework
? MapKit Framework
? Use case: ReLocate
? Discussione
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 2
3. ? GIS - Geographic Information System
? Software che lavora con il territorio; pi
esattamente con linformazione territoriale.
? Consumer
? Google Maps
? Microsoft Live Search Maps
? ViaMichelin
? Yahoo! Maps
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 3
4. ? Business
? Free & opensource software
? Molti software di alta qualit, aderenti agli standard
emanati da Open Geospatial Consortium (OGC).
? Commerciale
? Autodesk
? ESRI
? Bentley
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 4
5. ? Cos cambiato?
? Banda larga
? Ampia diffusione di dispositivi mobile
? La maggior parte delle applicazioni
tradizionali sono state riviste.
? E se sfruttassimo la posizione geografica per
fornire nuove potenzialit?
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 5
6. ? Associare ad un documento multimediale
una coppia di coordinate geografiche.
? Diffusa sul web per la condivisione di
fotografie e video.
? Ma anche per eventi, strutture, punti di
interesse...
? Qualsiasi elemento che possa essere
georeferenziato.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 6
7. ? HTML 5 offre supporto alla geolocalizzazione.
? Browser che supportano la geolocalizzazione:
? Mozilla Firefox 3.5
? Apple Mobile Safari
? Due modalit
? Utilizzo di un ricevitore GPS
? Database di geolocalizzazione tramite IP.
? Accuratezza
? Houston we have a problem...
Da 10 m del caso ottimo a circa 50 km nei casi peggiori.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 7
8. // controllo del supporto
if (navigator.geolocation){
navigator.geolocation
.getCurrentPosition(onSuccess, onError);
}
// stub per gestione errore
function onError(message) {}
function onSuccess(position) {
// debug con firebug ;)
console.dir(position);
var s = "LAT: " + position.coords.latitude +
"LON: " + position.coords.longitude;
alert(s);
}
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 8
9. 24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 9
10. ? Assisted GPS (A-GPS)
? Ottimo perch consente un fixing veloce.
? Combina la triangolazione cellulare (LBS C Location
Base Service) con le informazioni relative alla
posizione dei satelliti.
? Al fine di ottenere il segnale GPS velocemente.
? Migliore accuratezza rispetto al GPS tradizionale
? Fino a 10 metri contro i 30 classici.
? Limitazioni
? Nessun accesso alle stringhe NMEA.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 10
11. ? Bussola magnetica - Magnometer
? Consente di ottenere la direzione sui tre assi xyz
senza doversi spostare ed affidarsi al poco
accurato GPS.
? Limitazioni ma anche applicazioni ?
? Soggetta a false letture dovute a campi magnetici esterni.
? Potreste volerlo utilizzare per trovare i fili elettrici nel
muro :-P
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 11
12. ? Dispositivi di localizzazione
? Core Location Framework
? I dispositivi sono condivisi tra tutte le applicazioni e OS X
mobile.
? Non possibile accedere direttamente ai dispositivi.
? Gestire la mappa
? MapKit Framework
? Supporto nativo alla mappa di Google.
? Solo con iPhone Firmware 3.0 e successivi.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 12
13. ? Framework alla base di iPhone OS.
? Introdotto con iPhone OS 2.0
? Pu utilizzare la triangolazione cellulare, GPS e
WiFi (non in Italia).
? Consente di trovare la posizione,
lorientamento e la velocit di spostamento
del dispositivo.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 13
14. ? Core Location basato su eventi.
? Alla disponibilit di una nuova localizzazione
iPhone attiver un evento.
? Per poter utilizzare Core Location, le applicazioni
devono essere configurate per ricevere questi
eventi.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 14
15. ? Requisiti di base
? Creare unistanza della classe CLLocationManager
? Assegnare un delegato alla classe che implementi
il protocollo CLLocationManagerDelegate
? Questa istanza intercetta gli eventi
? Si occupa di fatto di aggiornare tutti gli aspetti relativi
alla geolocalizzazione.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 15
16. ? Aprite Xcode 3.2
? Create un nuovo progetto
? View-Based project
? Chiamatelo VeniceCamp
? Aggiungete il framework CoreLocation
? Add > Existing framework...
? CoreLocation.framework
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 16
17. ? Aggiungete gli header di CoreLocation.
? Per ogni classe... O meglio usando
VeniceCamp_Prefix.pch
? Dentro Other Sources
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <CoreLocation/CoreLocation.h>
#endif
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 17
18. ? Aggiungete una nuova classe
? Cliccate su Classes
? Add > New file...
? Iphone OS
? Cocoa Touch Class
? Objective-C class
? Subclass of NSObject
? Chiamatela FirstCLController.m
? Create anche il file .h
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 18
19. ? E il delegato per la gestione degli eventi
? Deve implementare CLLocationManagerDelegate
? Eventi di posizione
C locationManager:didUpdateToLocation:fromLocation:
C locationManager:didFailWithError:
? Eventi di orientamento (opzionali C a meno di usare
la bussola)
C locationManager:didUpdateHeading:
C locationManagerShouldDisplayHeadingCalibration:
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 19
21. ? Dichiara la classe come aderente al protocollo
CLLocationManagerDelegate
? Contiene unistanza della classe
CLLocationManager, che viene esposta
tramite luso delle propriet.
? Dichiara solo i metodi per la location.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 21
23. ? Init crea listanza e inizializza una nuova
instanza di CLLocationManager.
? Viene associata listanza della classe come
delegato dellistanza del location manager.
? I metodi del protocollo rispondono agli eventi
scrivendo dei messaggi nel log, utilizzando la
funzione NSLog.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 23
24. ? Definito il controller aggiungiamolo al nostro
ViewController preesistente.
? Aprite VeniceCampViewController.h e
aggiungete le righe evidenziate.
@class FirstCLController
@interface VeniceCampViewController : UIViewController {
FirstCLController *locationController;
}
@property (nonatomic, retain)
FirstCLController *locationController;
@end
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 24
25. ? Aprite ora VeniceCampViewController.m
? In testa aggiungete
#import FirstCLController.h
@implementation ...
@synthesize locationController;
? Implementate i metodi seguenti
- (void) viewDidLoad {
[super viewDidLoad];
locationController = [[MyCLController alloc] init];
[locationController.locationManager startUpdatingLocation];
}
- (void) dealloc {
[locationController release];
[super dealloc];
}
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 25
26. ? Caricata la vista, il metodo viewDidLoad
inizializza il controller creato in precedenza ed
avvia il location manager con il metodo
startUpdatingLocation.
? A questo punto possiamo provare
lapplicazione.
? Compilate ed eseguite dal menu
Build > Build and Run.
? Visualizzate la console dal menu Run > Console.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 26
27. ? Mantenere logica e visualizzazione separati
fondamentale per assicurare una qualit
migliore.
? Come passare i dati quindi dal controller per
CoreLocation alla vista?
? Utilizzamo un protocollo e lo strumento dei
delegati.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 27
28. ? Aprite FirstCLController.h
? Creiamo il protocollo LocatorDelegate dopo le
righe di importazione
@protocol LocatorDelegate
@required
- (void) locationUpdate:
(CLLocation *)location;
- (void) locationError:
(NSString *)error;
@end
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 28
29. ? Aggiungete una nuova variabile nellinterfaccia:
? id delegate;
? Create la propriet:
? @property (nonatomic, assign)
id<LocatorDelegate> delegate;
? Modificate la dichiarazione di
VeniceCampViewController.h in
? @interface VeniceCampViewController :
UIViewController <LocatorDelegate>
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 29
30. ? Per prima cosa aggiungete in testa
? @synthesize delegate;
? Aprite FirstCLController.m e aggiungete dopo
le righe di logging dei metodi
didUpdateToLocation e didFailWithError
rispettivamente:
? [self.delegate locationUpdate:newLocation];
? [self.delegate locationError:
[error description]];
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 30
31. ? Aggiungete una nuova variabile per contenere
una label come segue in
VeniceCampViewController.h
? IBOutlet UILabel *locationLabel;
? Aprite linterface builder facendo doppio click
sullo xib VeniceCampViewController, in
Resources.
? Aggiungete una label e collegatela al Files
Owner.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 31
32. ? Entrambi i metodi del protocollo sono
obbligatori.
- (void) locationUpdate:(CLLocation *)location{
[locationLabel setText:[location description]];
}
- (void) locationError:(NSString *)error{
[locationLabel setText:error];
}
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 32
33. ? A questo punto necessario aggiungere il
delegato al controller di Core Location.
? Questo avviene nel metodo viewDidLoad
? locationController.delegate = self;
? A questo punto la comunicazione tra
controller e vista impostata e funzionante.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 33
34. ? Propriet
? BOOL locationServicesEnabled
? Indica se nel dispositivo sono abilitati i servizi di
localizzazione.
? CLLocation *location
? Lultima location ricevuta
? CLLocationDistance distanceFilter
? Distanza dallultima posizione dopo la quale essere
notificati degli eventi
? kCLDistanceFilterNone per tutti gli eventi
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 34
35. ? Propriet
? CLLocationAccuracy desiredAccuracy
? Indica laccuretezza desiderata. Possibili valori:
? kCLLocationAccuracyBest; (default)
? kCLLocationAccuracyNearestTenMeters;
? kCLLocationAccuracyHundredMeters;
? kCLLocationAccuracyKilometer;
? kCLLocationAccuracyThreeKilometers;
? BOOL headingAvailable
? Indica se la bussola disponibile nel dispositivo
? CLLocationDegrees headingFilter
? Gradi di tolleranza per far scattare le notifiche di orientamento.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 35
36. ? Con lintroduzione di iPhone OS 3.0
disponibile un nuovo framework per la
gestione della mappa.
? Possiamo utilizzarlo per visualizzare la
posizione sulla mappa.
? Aggiungiamo il framework MapKit.framework
e limport #import <MapKit/MapKit.h>
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 36
37. ? Aggiungete una nuova propriet IBOutlet a
VeniceCampViewController.h
? MKMapView *mapView;
? @property (nonatomic, retain)
IBOutlet MKMapView *mapView;
? DallInterface Builder aggiungete una mappa
e associatela al Files Owner.
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 37
38. ? Aprite VeniceCampViewController.m
? Nel metodo locationUpdate ora dobbiamo
aggiornare la mappa.
? Si vuole ottenere lo zoom alla regione interessata.
MKCoordinateRegion region;
MkCoordinateSpan span;
span.longitudeDelta = 0.05;
span.latitudeDelta = 0.05;
region.center = [location coordinate];
region.span = span;
[mapView setRegion:region animated:TRUE];
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 38
39. ? Basta abilitare il flag showsUserLocation a
TRUE.
? Possiamo anche utilizzare linterface builder,
spuntando la scelta nelle propriet.
? Ricompilate, riavviate ed ecco uno splendido
puntino blu! ?
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 39
40. ? Posso utilizzare la annotation per visualizzare
elementi accessori sulla mappa.
? Pushpin
? Descrizioni
? Posso disegnare polilinee e poligoni ma devo
utilizzare degli hack.
? Alternative? Route-me library!
24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 40
41. 24 Ottobre 2009 Eduard Roccatello @ Italian iPhone Developer Meeting 41