Te beginnen met Google maps: geavanceerde androïde

, te beginnen met het gebruik van geavanceerde androïde: Google maps,,,,,,,,,, 24 en 32 aandelen,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, dit artikel is een serie begint met het gebruik van een deel van de robot - versie van Google maps, te beginnen met Google maps Android:intermediategetting beginnen met Google maps: geavanceerde androïde, 1.De invoering van de functie van Google maps, hoewel de normen zeer nuttig is, de tijd hebben, wil je een beetje meer.Gelukkig, Google is het creëren van een androïde projectontwikkelaars kunnen hun aanvragen in te dienen ter verbetering van de ondernemingen een bibliotheek kaart, en in deze handleiding zal je leren hoe het gebruik van dit instrument voor de verwarming van de gegevens aan de bibliotheek kaart zien, makkelijk te zien dat de etikettering de bundeling van de grote aantallen, en Door het gebruik van verschillende praktische de methoden en rond de aarde of op de weg van de getrokken lijn.,, deze handleiding bron kan vinden in github.,, 2.Dit is de eerste in een reeks van in   les, ik liep, het opzetten van een project met Google ontwikkelaars Console, toevoeging van een API - sleutel aan je lijst.In deze handleiding, je moet een API - sleutel en je project en is er   beschreven.,, de volgende stap, open de  , build.gradle, en de toevoeging van twee nieuwe afhankelijk is van een dienst met Google maps en andere instrumenten voor een   Google maps,   bibliotheek, opgesteld. (COM de androïde. GGO 's: dienen de kaart: COM 7.8.0 opgesteld. Google. Kaart. De androïde androïde kaart instrumenten: 0,4 ", ik moet constateren dat de toepassing van de bibliotheek, Google maps   ook gespecialiseerde   β, maar het   heeft de afgelopen twee jaar voor.Als je in deze bibliotheek en een project moet je update profiel, is de belangrijkste activiteit.   Java, zodat het gebruik van de hieronder aangegeven gewoonte fragmenten.,, < xmlns:Android = "(schema http://schemas.android.com/apk/res/android 'xmlns: instrumenten =" http://schemas.android.com/tools "Android:layout_width =" match_parent "- layout_height =" match_parent "Android:paddingleft =" @ dimensie /activity_horizontal_margin "Android:paddingright =" @ dimensie /activity_horizontal_margin "Android: paddingtop =" @ dimensie /activity_vertical_margin "Android:paddingbottom =" @ dimensie /activity_vertical_margin "instrumenten: context =" mainstream "> < - de androïde: id =" @ + ID /list_fragment Android:layout_width = "concurrentie"_parent "Android:layout_height =" match_parent androïde: naam = "COM". Tutsplus. Mapsdemo. Gen. Utilslistfragment "/> < /(schema >,, het creëren van een nieuwe, utilslistfragment,   klasse, met meer dan een eenvoudige namens de bibliotheek in deze handleiding zal je leren de de Lijst van projecten, deel, in de uitbreiding van utilslistfragment. {- ListFragment leegte oncreate (pakket savedinstancestate {-). OnCreate (savedinstancestate); ArrayAdapter < snaren > adapter = nieuwe ArrayAdapter < snaren > (getactivity (), android.r.layout.simple_list_item_1); akkoord [] = getresources (projecten). Getstringarray (r.array.list_items) van reclame;Goed. Alle (nieuwe) (), lijst ())); setlistadapter (adapter); - de onlistitemclick (m) de leegte van mening, L, int positie, lange ID) {super. Onlistitemclick (l, V, status); reeks) = ((structuur) v gettext). () (). Tostring; als ("ja" (r.string.item_clustering). Equalsignorecase () {startActivity (nieuwe opzet (getactivity (), clustermarkeractivity.class));} anders als ("ja" (r.string.item_heat_map). Equalsignorecase () {startActivity (nieuwe opzet (getactivity (), heatmapactivity.class));} anders als ("Ja" (r.string.item_polylines equalsignorecase). (project)) {beginnenActiviteiten (de nieuwe opzet (getactivity (), polylineactivity.class));} anders als ("ja" (r.string.item_spherical_geometry). Equalsignorecase () {startActivity (nieuwe opzet (getactivity (), sphericalgeometryactivity.class));}}}, elke string   definitie in, een reeks uniforme,  .,,, LT een naam = "; item_clustering" > cluster < /serie > < - naam = "item_heat_map" > thermische kaart < /serie > < - naam = "item_polylines" > uit de < /serie > < - naam = "item_spherical_geometry" > sferische meetkunde instrumenten < /serie > < snaren naam = "list_items" > < project > @ string /item_clustering < /project > < project >@ string /item_heat_map < /project > < project > @ string /item_polylines < /project > < project > @ string /item_spherical_geometry < /project > < /- touw >,,,,, Als je de lijst beschikbaar is, je moet het scheppen van en basemapactivity. Koffie, het hanteren van alle gewone kaart van instellingen van de activiteiten voor elk geval, je zou bouwen.Dit  , activiteiten,   gestart, googlemap, en zoom in bepaalde gebieden.In dit geval, de regio 's is   Denver, Colorado, al dit soort moeten uit deze reeks na twee bekende abstracte categorie openbare basemapactivity.,, de uitbreiding van de bescherming van appcompatactivity {parameters mcenterlocation = nieuwe parameters (39.7392, -104.9903); de bescherming van mgooglemap googlemap; - de beschermde nietig oncreate (pakket savedinstancestate) {super. OnCreate (savedinstancestate); setContentView (getmaplayoutid () (); initmapifnecessary;} - beschermde nietig onresume () {super. Onresume (); initmapifnecessary ();} beschermde nietig initmapifnecessary () {als (mgooglemap!= nul) {terugkeer;} mgooglemap = ((mapfragment) getfragmentmanager (). Findfragmentbyid (r.id.map)). Getmap (); initmapsettings () (); initcamera;} beschermde nietig initcamera () {CameraPosition positie = CameraPosition. Bouwer (). De doelstellingen (mcenterlocation). - (getinitialmapzoomlevel. ()). (de); mgooglemap. Animatecamera (cameraupdatefactory. Newcameraposition (plaats), nul);} {getmaplayoutid (int) bescherming van r.layout.activity_map; bescherming van de drijvende getinitialmapzoomlevel (}) {terug 12.0f;} abstract initmapsettings ();}, nu, opIn je oorspronkelijke projecten, kan je naar het volgende hoofdstuk, je zal het creëren van een nieuwe, van de activiteiten van ieder instrument, en we moeten   dekking in deze handleiding,, 3.De kaart, de kaart is een goede manier om de presentatie van de gegevens op de kaart van de concentratie.Google maps gereedschap kan gemakkelijk worden toegevoegd aan de toepassing ervan.Te beginnen, het creëren van een nieuwe, basemapactivity, genaamd  , heatmapactivity en toe te voegen aan uw XML - bestand.In deze verklaring op de Top van  , we heatmaptileprovider, gebruikt voor de bouw van een kaart voor particuliere heatmaptileprovider mprovider.,,,,,,, basemapactivity, nomenclatuur, initmapsettings,   noemen, staat u toe te voegen aan je eigen kaart.Daarom moet je   herschrijven, activiteiten, de methode, arraylist,   object parameters, en die  , heatmaptileprovider,   object, leveranciers., op verschillende manieren kan worden gebruikt voor de verandering in je hete kaart kijken, zoals de geleidelijke verandering van de kleur van de punt, de straal, en elk van de gewichten van De   zodra die opgericht is. Je leverancier, je kan een hete kaart, tileoverlay, en is van toepassing op je kaart.,, - de beschermde nietig initmapsettings () {arraylist < parameters > positie = generatelocations (); mprovider = nieuwe heatmaptileprovider. Bouwer (). De gegevens (plaats). (); mprovider bouwen. SetRadius (heatmaptileprovider.default_radius); mgooglemap. Addtileoverlay (nieuwe tileoverlayoptions ().Tileprovider (mprovider));}, en de verwezenlijking van de bovengenoemde, initmapsettings,  , generatelocations,  , is een aanvullende parameters voor het genereren van 1000, in het centrum van de kaart, de positie van particuliere arraylist. < parameters > generatelocations () {arraylist < de positie van De nieuwe parameters parameters > - = = = = = = < > (); de bilaterale; twee LNG; willekeurige generator = nieuwe ('); (int i = 0; ik < 1000; I + +) (- = - generator. Nextdouble () /3; LNG = generator. Nextdouble () /3; als de generator. Nextboolean () {land belasting over de toegevoegde waarde = - de belasting over de toegevoegde waarde;} als (generator. Nextboolean () {= - van vloeibaar gas (LNG);} plaats. De toevoeging van nieuwe parameters ((mcenterlocation.latitude + land belasting over de toegevoegde waarde, mcenterloCation.longitude + vloeibaar gas);}) terug naar de locatie;}, als je klaar bent met de uitvoering van  , initmapsettings,  , generatelocations,, je kan de aanvraag, klik - deel van het in actie ziet.,,,,, 4.Teken een kaart van clusters, als er veel gegevens in een klein gebied, kan het de verwarring snel gebruikers wordt verminderd.Dat niet alleen, maar het zijn er te veel   markering onmiddellijk leiden tot een aanzienlijke vertraging vertonen van apparatuur, te verlichten. De problemen die worden veroorzaakt door een hulpeloos, gebruik je Google maps arsenaal van instrumenten voor de etikettering van voor het activeren van je groep.Het eerste wat je moet doen is het creëren van een nieuw model dat, clusteritem voorwerp, de interface.Het model moet beseffen dat, getposition,   methode van  , clusteritem,   interface voor de parameters, de terugkeer van een doeltreffende uitvoering van de objecten, klasse, clustermarkerlocation clusteritem (particuliere parameter standpunt; de openbare clustermarkerlocation (parameter) {}) = parameters positie; - de parameters getposition () {} de positie ongeldig positie terug. (de positie van de parameters) {this.position = standpunt;}}, model, en   gecreëerd, je kan de oprichting van een nieuwe activiteit, bekend als de  , clustermarkeractivity, en voeg het toe aan de lijst.Als je nog je kaart, je moet het scheppen van een,, het clustermanager, met je assistent, en   googlemap, toe te voegen aan de parameters, de positie, de clustermarkerlocations,, clustermanager, weet de cluster.In het kader van de tenuitvoerlegging van een initmarkers, kijk, beter te begrijpen hoe dit in zijn werk gaat.,, particuliere nietig initmarkers () {clustermanager < clustermarkerlocation > clustermanager = nieuwe clustermanager < clustermarkerlocation > dit punt mgooglemap); mgooglemap. Setoncamerachangelistener (clustermanager); bilaterale; twee willekeurige generator = nieuwe (LNG;); (int i = 0; ik < 1000; I + +) (- = - generator. Nextdouble () /3; LNG = generator. Nextdouble () /3; als de generator. Nextboolean () {- = - land belasting over de toegevoegde waarde;} als (generator. Nextboolean () {} clustermanager van vloeibaar gas (LNG) = -; (nieuwe clustermarkerlocation. Additem (nieuwe parameters (mcenterloCation.latitude + land belasting over de toegevoegde waarde, mcenterlocation.longitude + LNG));}}, en in dit geval, creëren we een willekeurig punt dat 1000 en toegevoegd aan een kaart.De toepassing van   Google maps database aan met alles wat we hebben.,,,,,,,, 5.   andere   ondernemingen, met uitzondering van de laatste twee projecten, Google Earth hele bibliotheek is een klein programma.Als je er veel verschillende punten, de ontwikkeling van een lijn voor lijn, code   en dan ook nog in de kaart van de lijn voor je, polyutil,.Dit zal een pad tussen de punten langs de kaart.,, in de uitbreiding van de particuliere polylineactivity basemapactivity (statische draad = "gsqqfxxu_syrltys @ npakhazy {te maken% quot% auhwbb} lil @} [gocqge



Previous:
Next Page: