Google Maps component per Flash

Venerdì 25 Gennaio, 2008

AFComponents UMAP

Google ha reso disponibile le API - in Javascript - per inserire le sue mappe in qualsiasi sito Web. Viediamo come realizzare la stessa cosa con Flash!

image Partiamo da un componente gratuito, UMAP (Universal ActionScript 3.0 Mapping API  - integrated with Google Maps), sviluppato da AFComponents, una società verticalizzata su componenti per Flash/Flex davvero interessanti e a prezzi accessibili. Sul sito, dove è necessario registrarsi per usufruire dei download gratuiti, sono presenti anche le versioni di UMAP per ActionScript 2.0: G MAP Ver.2.6.1. In questo caso noi analizzeremo la versione 0.4 Beta di UMAP per ActionScript 3.0 (all'interno del pacchetto c'è anche il componente Flex). Questa che andremo a vedere è - evidentemente - una versione beta e manca, quindi, di alcune funzionalità presenti nella versione per Actionscript 2.0 (G MAP Ver.2.6.1). Tuttavia, gurdando al futuro, mi sembra più interessante focalizzare l'attenzione su questa release; le ho provate entrambe e, nonostante la maggiore completezza della release per Actionscript 2.0, la versione beta per Actionscript 3.0 è notevolmente più performante.

Tra le sue features troviamo:

  • Support for custom map tiles and providers
  • Updated loading algorithms for faster tile loading
  • Flash / Flex versions
  • KML Support
  • Advanced content layering
  • FLA-Based Map Controls
  • Vector shape overlays
  • Extended Info Window styling

Componenti UMAP Una volta installato il componente UMAP tramite Adobe Extension Manager troveremo quattro nuovi componenti che fanno tutti parte di UMAP. I controlli usati in Google Maps, come lo Zoom (Zoom Control), la scelta del tipo di mappa (Map Type Control) e il cursore per gli spostamenti (Position Control), sono qui realizzati come componenti/elementi esterni. Il componente principale è, ovviamente, UMap. A questo possono essere aggiungi tutti gli altri se lo desideriamo. Per farlo, tuttavia, bisogna scrivere qualche riga di codice...

> Per la documentazione clicca qui: attenzione che la documentazione contiene qualche errore e tutorial sono assenti!

Vediamo un primo esempio. Apriamo un nuovo filmato Flash e trasciniamo il componente UMap e il componente Zoom Control. Nominiamo le istanze di questi rispettivamente umap e zoom.

Stage Player
Componenti sullo Stage Prova filmato

Non è necessario porre il componente Zoom Control sopra il componente UMAP. Quando proverete il filmato lo Zoom sarà posizionato automaticamente sulla sinistra del componente principale. Il codice Actionscript da usare per "aggiungere" il componente Zoom è il seguente:

Actionscript:
  1. umap.addControl(zoom);

La stessa cosa va fatta se vogliamo completare la vista come normalmente viene mostrata su Google Maps.

Stage Player
Componenti sullo Stage Prova filmato

Anche in questo caso nominare le istanze degli altri due componenti e scrivere il seguente codice:

Actionscript:
  1. umap.addControl(zoom);
  2. umap.addControl(maptype);
  3. umap.addControl(mapposition);

Chi non è pratico di Actionscript deve stare attento a qualche errore di "battitura" nella documentazione - come accennavo sopra. Dopotutto è un prodotto gratuito e in beta!

Per aprere una finestra (Window) personalizzata, ad esempio, il codice corretto è:

image Window personalizzate
Actionscript:
  1. import com.afcomponents.umap.core.UMap;
  2. import com.afcomponents.umap.styles;
  3. import com.afcomponents.umap.styles.InfoWindowStyle;
  4. import com.afcomponents.umap.types.Size;
  5. //
  6. umap.addControl (zoom);
  7. umap.addControl (maptype);
  8. umap.addControl (mapposition);
  9. //
  10. // definisce lo stile della Window
  11. var style:InfoWindowStyle = new InfoWindowStyle();
  12. style.strokeAlpha = 0.8;
  13. style.size = new Size(200,100);
  14. style.autoSize = InfoWindowStyle.AUTO_SIZE_NONE;
  15. style.tailSize.height = 30;
  16. style.tailOffset = 0.10;
  17. style.contentStyle.html = true;
  18. style.contentStyle.styleSheet = new StyleSheet();
  19. style.contentStyle.styleSheet.setStyle ("html", {fontFamily:"arial", fontSize:12, color:"#555555"});
  20. // parametri Window
  21. var param:Object = new Object();
  22. param.title = "Titolo Finestra";
  23. param.content = "Contenuto...<br />in stile<br /><b><u>HTML</u></b>!";
  24. // apre la Window
  25. umap.openInfoWindow (param, style);

Ovviamente è possibile usare il componente UMAP, e gli altri, anche direttamente da codice, senza cioè trascinarli dalla finestra dei componenti nello stage. Ed è anche possibile aggiungere i Marker (o Ballon) per indicare luoghi sulla mappa.

image Marker
Actionscript:
  1. import com.afcomponents.umap.core.UMap;
  2. import com.afcomponents.umap.styles.GeometryStyle;
  3. import com.afcomponents.umap.overlays.Marker;
  4. import com.afcomponents.umap.types.LatLng;
  5. //
  6. var map:UMap = new UMap();
  7. map.setSize (300, 300);
  8. this.addChild (map);
  9. //
  10. var m:Marker = new Marker({name:"Titolo Marker",position:new LatLng(10, 10), description:"Questo è il testo del corpo del Marker"}, {fill:GeometryStyle.RGB, fillRGB:0xffcc00});
  11. map.addOverlay (m);

Torneremo a parlare presto di questo componente, in attesa anche di altri rilasci - visto che è una beta!

Post correlati

Un commento a: “Google Maps component per Flash”

  1. getAvatar 1.0 Venerdì 09 Maggio, 2008 alle 21:44
    Advanced Flash Components Blog » Blog Archive » Stuff is Happening at AFC ha detto:

    [...] Undolog [...]

Lascia un commento

TAG XHTML permessi: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Usa <pre> per racchiudere codice