Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Component, OnInit } from "@angular/core";
- import * as dialogs from "tns-core-modules/ui/dialogs";
- import { HttpClient, HttpHeaders, HttpResponse } from "@angular/common/http";
- import "rxjs/add/operator/map";
- import "rxjs/add/operator/do";
- import {isEnabled, enableLocationRequest, getCurrentLocation, watchLocation, distance, clearWatch} from 'nativescript-geolocation'
- import {Universidad} from './universidad.model';
- import {Ubicacion} from './ubicacion.model';
- @Component({
- selector: "my-app",
- templateUrl: './app.component.html',
- styleUrls: ['./app.component.css']
- })
- export class AppComponent implements OnInit {
- ngOnInit(): void {
- enableLocationRequest(true).then(() => {
- console.log("*** SE OBTUVO LA LOCALIZACION");
- });
- }
- public nombre = 'California';
- public API_URL: string = "http://universities.hipolabs.com/search";
- public resultados : Array<Universidad> = [];
- public miUbicacion : Ubicacion = {
- latitud: 0,
- longitud: 0,
- zoom: 0,
- bearing: 0,
- tilt: 0,
- padding: [40, 40, 40, 40]
- };
- constructor(private http: HttpClient) {
- }
- buscar() {
- if (!this.nombre) {
- var options = {
- title: "Oh... oh!",
- message: "Escribe un nombre a buscar.",
- okButtonText: "OK"
- };
- dialogs.alert(options);
- return;
- }
- var headers = new HttpHeaders();
- headers.append("Content-Type", 'application/json');
- this.http.get(this.API_URL + "?name=" + this.nombre, {responseType: 'json'})
- .map(response => response)
- .subscribe((resultado) => {
- this.resultados = [];
- var json = JSON.parse(JSON.stringify(resultado));
- for(var i = 0; i < json.length; ++i){
- this.resultados.push(new Universidad(json[i]['state-province'], json[i].alpha_two_code, json[i].country, json[i].name));
- }
- }, (error) => {
- var options = {
- title: "Oh... vaya!",
- message: "Un error en la solicitud acaba de ocurrir. Intente de nuevo.",
- okButtonText: "OK"
- };
- dialogs.alert(options);
- });
- }
- buscarPorUbicacion(){
- if(!isEnabled()){
- enableLocationRequest();
- }
- getCurrentLocation({desiredAccuracy: 3})
- .then(location => {
- this.miUbicacion= {
- latitud: location.latitude,
- longitud: location.longitude,
- zoom: 8,
- bearing: 0,
- tilt: 0,
- padding: [40, 40, 40, 40]
- };
- this.http.get("http://api.geonames.org/findNearbyPlaceNameJSON?username=larry&lat=" + this.miUbicacion.latitud + "&lng=" + this.miUbicacion.longitud)
- .map(res => res)
- .subscribe(resultado => {
- console.log(resultado['geonames'][0].countryName);
- });
- }, error => {
- var options = {
- title: "Oh... vaya!",
- message: "Problema para obtener tu ubicación actual. ",
- okButtonText: "OK"
- };
- dialogs.alert(options);
- });
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement