ionic2/angular 2-*用于不处理地图标记内容
我正在尝试在地图标记器的信息窗口中打印数据。我设法在ionic2/angular 2-*用于不处理地图标记内容,angular,google-maps,ngfor,Angular,Google Maps,Ngfor,我正在尝试在地图标记器的信息窗口中打印数据。我设法在控制台中获取数据,但无法在信息窗口中打印。标记和信息窗口确实出现在地图上,只是检索数据失败 代码用于测试,因此我只从JSON对象数组中获取一个对象 我在maps.html上测试了*nglet的maps.data列表,数据确实出现了 感谢您的帮助并提前表示感谢:) 获取存储在谷歌地图提供商中的位置和显示标记的功能 initMap(): Promise<any> { this.mapInitialised = true; retur
控制台中获取数据,但无法在信息窗口中打印。标记和信息窗口确实出现在地图上,只是检索数据失败
代码用于测试,因此我只从JSON对象数组中获取一个对象
我在maps.html
上测试了*nglet的maps.data列表,数据确实出现了
感谢您的帮助并提前表示感谢:)
获取存储在谷歌地图提供商中的位置和显示标记的功能
initMap(): Promise<any> {
this.mapInitialised = true;
return new Promise((resolve) => {
this.geolocation.getCurrentPosition().then((position) => {
// fixed position
let latLng = new google.maps.LatLng(1.352100, 103.819800);
let mapOptions = {
center: latLng,
zoom: 15,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
this.map = new google.maps.Map(this.mapElement, mapOptions);
let marker = new google.maps.Marker({
map: this.map,
animation: google.maps.Animation.BOUNCE,
position: this.map.getCenter(),
disableDefaultUI: true,
});
let mapListings = this.load();
let data = this.mapListings;
console.log(this.data[0]);
let content = '<ion-item *ngFor="let listing of this.data[0]">' +
'<h2 class="payment_color">{{ listing.ListingTitle }}</h2>' +
'<p>{{ listing.ListingDatePosted }}</p>' +
'<p>{{ listing.ListingDescription }}</p>' +
'</ion-item>';
this.addInfoWindow(marker, content);
resolve(true);
});
});
console.log(this.data[0])输出
t {__zone_symbol__state: true, __zone_symbol__value: Array(4)}
__zone_symbol__state: true
__zone_symbol__value: Array(4)
__proto__: Object
Object {ListingTitle: "This is the Title",
ListingDatePosted: "20-July-2017",
ListingDescription: "Hello World"}
信息窗口上的输出
{{ listing.ListingTitle }}
{{ listing.ListingDatePosted }}
{{ listing.ListingDescription }}
试试这个。用以下代码替换let内容
let content = `<ion-item *ngFor="let listing of this.data[0]">
<h2 class="payment_color">{{ listing.ListingTitle }}</h2>
<p>{{ listing.ListingDatePosted }}</p>
<p>{{ listing.ListingDescription }}</p>
</ion-item>`;
我试着用另一种方法,效果很好。不知道为什么不工作
for ( let listing of this.data){
let content = '<ion-item>' +
'<h2 style="color:red;">' + listing.ListingTitle +'</h2>' +
'<p>' + listing.ListingDatePosted + '</p>' +
'<p>' + listing.ListingSalary + '</p>' +
'</ion-item>';
}
for(让我们列出这个.data){
让内容=“”+
''+listing.ListingTitle+''+
“”+listing.ListingDatePosted+””+
“”+listing.ListingSalary+””+
'';
}
是。它仍然返回{listing,ListingTitle}。我尝试了“{listing.ListingTitle}}”。样式设置工作正常,但数据没有出现。您在调用initMap()吗?能否将对initMap的调用包装在ngZone中?initMap()是从提供程序调用的。
for ( let listing of this.data){
let content = '<ion-item>' +
'<h2 style="color:red;">' + listing.ListingTitle +'</h2>' +
'<p>' + listing.ListingDatePosted + '</p>' +
'<p>' + listing.ListingSalary + '</p>' +
'</ion-item>';
}