Я хочу разместить маркер на Картах Google, используя Angular Google Maps мои координаты взяты из файла JSON, который при анализе в Angular становится строкой.
Angular Google Maps не поддерживает строку для числа координат. Так должно быть число.
marker.json
[
{
"id":"1",
"lat":"13.751814",
"lon":"100.501060"
},
{
"id":"2",
"lat":"13.738445",
"lon":"100.516805"
},
{
"id":"3",
"lat":"13.730209",
"lon":"100.779991"
}
]
maps.componenet.ts
import { Component, OnInit } from '@angular/core';
import {Http, Response} from '@angular/http';
@Component({
selector: 'app-maps',
templateUrl: './maps.component.html',
styleUrls: ['./maps.component.css']
})
export class MapsComponent implements OnInit {
private data;
constructor(private http:Http){
}
ngOnInit(){
this.getData();
}
getData(){
this.http.get('/localhost/marker.json')
.subscribe(res => this.data = res.json());
}
}
maps.component.html
<agm-map [latitude]="13.359665" [longitude]="101.035913" [zoom]="6">
<ng-container *ngFor="let list of data">
<agm-marker [latitude]="list.lat" [longitude]="list.lon"></agm-marker>
</ng-container>
</agm-map>
Я попытался использовать parseFloat, как это (Да, это не работает)
<agm-marker [latitude]="parseFloat(list.lat)" [longitude]="parseFloat(list.lon)"></agm-marker>
Я подумываю об использовании parseInt
внутри maps.component.ts
файла, но я не уверен, куда его поместить.
Пусть кто-нибудь поможет мне или подскажет, как решить эту проблему. И, пожалуйста, дайте мне знать, предоставляю ли я достаточно информации.
Спасибо!