2017-10-25 9 views
0

JSONファイルから地図上にマーカーを表示しようとしています。地図はうまくロードされますが、マーカーは表示されません... javascriptコンソールを見ると、連続したエラーが表示されます(latとlonオブジェクトはすべてconsole.logで正しい位置を表示しますが)。私は私のマーカー機能と一緒に以下のエラーを投稿します。どんな助けもありがとう、ありがとう!LatLngを数値として設定する方法

エラー:

the error message

マーカー機能:

displayGoogleMap(){ 
let latLng = new google.maps.LatLng(43.653908,-79.384293); 
let mapOptions = { 
center:latLng, 
zoom:12, 
mapTypeId : google.maps.MapTypeId.ROADMAP 
} 
this.map = new google.maps.Map(this.mapElement.nativeElement, mapOptions); 
} 


getMarkers(){ 
//this.http.get('assets/data/markers.json').map((res)=>res.json()).subscribe(data=>{ 
this.http.get('http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500').map((res)=>res.json()).subscribe(data=>{ 
this.addMarkersMap(data); 
}); 

} 


addMarkersMap(markers){ 
for(let marker of markers) 
{ 
var loc = {lat: marker.calEvent.locations[0]['coords'].lat , lon: marker.calEvent.locations[0]['coords'].lng}; 

    console.log(loc); 
    marker = new google.maps.Marker({ 
    position: loc, 
    map: this.map 
    }); 

} 
} 

JSONフィード:

http://app.toronto.ca/cc_sr_v1_app/data/edc_eventcal_APR?limit=500

+0

キー名の名前の変更** lonからlng ** 'var loc = {lat:marker.calEvent.locations [0] ['coords'] .lab、lng:marker.calEvent.locations [0] ['coords'] lng}; ' – Naimad

答えて

0

位置はLNGないLONで定義する必要があります。

var myLatLng = {lat: -25.363, lng: 131.044}; 

ない

var myLatLng = {lat: -25.363, lon: 131.044}; 

これだけにコードを変更:

var loc = {lat: marker.calEvent.locations[0]['coords'].lat , lng: marker.calEvent.locations[0]['coords'].lng}; 

か、単に

var loc = marker.calEvent.locations[0]['coords']; 
+0

サー、ママありがとう! – skotienos13

関連する問題