Bu yüzden şu ana kadar bir kullanıcıdan bir posta kodu aldığım angular'da bu programa sahibim ve düğmeye tıklandığında, bu girişi bir apı'ye gönderildiği bir işleve gönderir. Enlem ve Uzun koordinatlara dönüştürmek için. aşağıya bakınız:
ev.bileşen.html
<div class="center" style="margin-top:50px;">
<label for="ZipCode"><b>Zip Code</b></label>
</div>
<div class="center">
<input name="zipcode" #zipcode id="zipcode" type="text" placeholder="Enter Zip Code" maxlength="5">
</div>
<div class="center" style="margin-top:100px;">
<button class="button button1" (click)="getCoords(zipcode.value)" ><b>Retrieve Data</b></button>
</div>
açıkçası, bu sadece kodun bir snippet'idir, ancak görüntüleme amaçları için yeterlidir. sonraki apı ile işlevdir ve daha sonra görünümü istasyonlar bileşenine/sayfasına kaydırır:
ev.bileşen.TH
export class HomeComponent implements OnInit {
constructor(
private router: Router
){}
ngOnInit(): void {
}
getCoords(val: any){
var url = "http://www.mapquestapi.com/geocoding/v1/address?key=MYKEY&location=" + val;
fetch(url)
.then((res) => res.json())
.then((data) => {
var lat = data.results[0].locations[0].displayLatLng.lat;
var long = data.results[0].locations[0].displayLatLng.lng;
this.router.navigate(["/stations"])
})
}
}
yerler.bileşen.ts-burada henüz hiçbir şey göremediğin için ne yapacağımı anlayamıyorum
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-stations',
templateUrl: './stations.component.html'
})
export class StationsComponent implements OnInit {
ngOnInit(): void {
}
}
şimdi her şey düzgün çalışıyor. konsol günlüğündeki lat ve long değişkenlerini test ettim ve lat ve long'u gayet iyi döndürüyor. benim sorunum, hesaplamalarda kullanılacak lat ve long değerini başka bir bileşene/sayfaya göndermem gerektiğidir. bunu yapmanın bir yolunu bulmaya çalışırken interneti taradığımı söyleyerek yalan söylemeyeceğim ama görünüşe göre bunu yapmak açısal olarak kolay değil. lat ve long değerini başka bir bileşene/sayfaya geçirme konusunda herhangi bir fikri olan var mı?
dataLat: lat
ve hata diyor ki:Argument of type '{ dataLat: any; dataLong: any; }' is not assignable to parameter of type 'NavigationExtras'. Object literal may only specify known properties, and 'dataLat' does not exist in type 'NavigationExtras'.