Slide 1

Slide 1 text

CUSTOM MAPS INTRODUÇÃO A CUSTOMIZAÇÃO DE MAPAS NO ANDROID @wmitrut

Slide 2

Slide 2 text

Wellington Mitrut - Ex-Baixista do Dream Theater, - Ex-Batman - Ex-Paquita - Flash Reverso - Freelance @wmitrut

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Os mapas são uma expressão da necessidade humana de conhecer e representar o seu espaço.

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

CARTOGRAFIA

Slide 7

Slide 7 text

A cartografia é a ciência da representação gráfica da superfície terrestre, tendo como produto final o mapa. Ou seja, é a ciência que trata da concepção, produção, difusão, utilização e estudo dos mapas.

Slide 8

Slide 8 text

CARTOGRAFIA = UX

Slide 9

Slide 9 text

Sketch do século XIV

Slide 10

Slide 10 text

Mapas no dia-a-dia

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

Mas é tudo 100% confiável?

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Soluções

Slide 17

Slide 17 text

No content

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

No content

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

Mas a mais usada é a GOOGLE MAPS API

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

É possível personalizar mapas desde a versão 9.6.0 do Google Play Services (set/2016) Segunda-feira saiu a 10.2.0

Slide 25

Slide 25 text

Mas como eu faço isso?

Slide 26

Slide 26 text

Google Maps API Styling Wizard

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

Customiza-se o mapa e salva-se o JSON do estilo na pasta raw do projeto

Slide 30

Slide 30 text

No content

Slide 31

Slide 31 text

No content

Slide 32

Slide 32 text

~ 5Kb ~ 320 linhas

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

Talk is cheap. Show me The Code.

Slide 35

Slide 35 text

1 - Não se esqueça de colocar a SUA chave da Google Maps API.

Slide 36

Slide 36 text

2 - Implemente a View public class MapsActivity extends FragmentActivity implements OnMapReadyCallback { private GoogleMap mMap; private static final String TAG = MapsActivity.class.getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_maps); SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); } MapsActivity.java

Slide 37

Slide 37 text

2 - Implemente a View activity_maps.xml

Slide 38

Slide 38 text

3 - Faça a Chamada do estilo e seu tratamento @Override public void onMapReady(GoogleMap googleMap) { try { boolean success = googleMap.setMapStyle( MapStyleOptions.loadRawResourceStyle( this, R.raw.cascavel_style)); if (!success) { Log.e(TAG, "Falhou ao aplicar estilo."); } } catch (Resources.NotFoundException e) { Log.e(TAG, "Estilo não encontrado. Error: ", e); } mMap = googleMap; LatLng cascavel = new LatLng(-24.952327, -53.461767); mMap.addMarker(new MarkerOptions().position(cascavel).title("Cascavel")); mMap.moveCamera(CameraUpdateFactory.newLatLng(cascavel)); } } MapsActivity.java

Slide 39

Slide 39 text

Documentação: https://goo.gl/uhXUdN

Slide 40

Slide 40 text

Código: https://goo.gl/GbkH60

Slide 41

Slide 41 text

SLIDES https://speakerdeck.com/wmitrut

Slide 42

Slide 42 text

DÚVIDAS?

Slide 43

Slide 43 text

Obrigado!