我已经在我的 angular 6 应用程序中实现了 @asymmetrik/ngx-leaflet,除了弹出窗口之外,一切正常。在我在地图中显示了一些标记后,它的显示就像图片中的一样:标记弹出窗口
我想在用户单击按钮时更改路线,但是从角度的(单击)事件不会在单击事件中触发,我已经在 onClick 中实现了内联函数 javascript 及其调用,然后再单击弹出窗口地图有标记!所以它不工作。代码是这样的:
this.listOfStations.map(station => {
if(Object.keys(station.location).length > 0){
this.markers.push(marker([station.location.coordinates[0],station.location.coordinates[1]],{
icon: icon({
iconSize: [ 25, 41 ],
iconAnchor: [ 13, 41 ],
iconUrl: 'assets/marker-icon.png',
shadowUrl: 'assets/marker-shadow.png'
})
})
.bindPopup(`
<div align='center'>
<p style='font-size:18px;font-weight:bold'>Station: ${station.stationCode}</p>
<p style='font-size:14px;font-weight:italic'>${station.description}</p>
<a class='btn btn-xs btn-primary button-me' (click)="${this.consoleThis()}">View</a>
</div>
`)
// .on('click', (e) => {
// this.zone.run(() => {
// this.router.navigate(['/dashboard/station/' + station.stationCode]);
// })
// })
)};
});
Run Code Online (Sandbox Code Playgroud)
谢谢。
小智 5
我为我正在开发的应用程序做了一个类似的事情,并让它像这样工作:
.bindPopup(`
<div align='center'>
<a class="btn btn-primary button-raised partner-link" data-partnerId="${markerinfo.partnerId}">
${markerinfo.partnerName}</a>
<p style='font-size:14px;margin: 5px'>${markerinfo.partnerAddress}</p>
<img style="height: 100px; width: 170px; margin: 0" src="${markerinfo.descImg}">
<p style="margin:5px;font-style:italic">${markerinfo.descText}</p>
</div>
`).addTo(map)
.on('popupopen', function () {
self.elementRef.nativeElement.querySelector('.partner-link')
.addEventListener('click', (e) => {
const partnerId = e.target.getAttribute('data-partnerId');
self.showPartner(partnerId);
});
})
showPartner(partnerId) {
// this.router.navigate(['/app/partners' + '/' + partnerId]);
console.log('going to partner: ' + partnerId);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2380 次 |
| 最近记录: |