У меня есть приложение ionic 3, которое использует открытую карту слоев, где я уже разместил маркеры.Теперь мне нужно нажать на маркеры, которые покажут мне некоторое содержание о кликнувшем маркере.Я искал через Интернет, но могу найти только примеры jquery.Я не хочу включать JQuery в мое приложение.Пожалуйста, помогите мне с этим.
Это весь мой файл .ts, где я показал карту и добавил маркер
this.api.get_someapi()
.subscribe(data => {
this.recent_event_data = data;
console.log('recent event data', this.recent_event_data);
var length = this.recent_event_data.length;
for(var i = 0; i < length; i++){
var lati = this.recent_event_data[i].latitude;
var longi = this.recent_event_data[i].longitude;
this.flash_type = this.recent_event_data[i].flash_type;
for(var j = 0; j< this.latitude.length; j++){
console.log('loop long',this.longitude[j]);
console.log('loop lat', this.latitude[j]);
var marker = new ol.Feature({
geometry: new ol.geom.Point(
ol.proj.fromLonLat([parseFloat(this.longitude[j]), parseFloat(this.latitude[j])])),
});
marker.setStyle(new ol.style.Style({
image: new ol.style.Icon(({
// color: '#ffcd46',
crossOrigin: 'anonymous',
src: 'https://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png'
// src:'/assets/imgs/blue-dot.png'
}))
}));
var vectorSource = new ol.source.Vector({
features: [marker]
});
var markerVectorLayer = new ol.layer.Vector({
source: vectorSource,
});
map.addLayer(markerVectorLayer);
}
}
});
this.loading.dismiss();
// Creating District Vector Source
var district = new ol.layer.Vector({
renderMode: 'image',
// title:"District",
visible:true,
// baseLayer: true,
source: new ol.source.Vector({
url: 'somemap',
format: new ol.format.GeoJSON()
})
});
// OSM Layer
var osm=new ol.layer.Tile({
source: new ol.source.OSM(),
// title:'Map',
// type:'base',
// baseLayer: true,
visible:true,
});
// Adding the District and OSM layer to the map
var map = new ol.Map({
layers: [osm, district],
renderer: 'canvas',
target: 'map', // Rendering to a particular ID
view: new ol.View({
center: ol.proj.transform([84.3995, 20.9517], 'EPSG:4326', 'EPSG:3857'),
zoom: 6.3
}),
controls: ol.control.defaults().extend([
new ol.control.FullScreen()
]),
});
var container = document.getElementById('popup');
var content = document.getElementById('popup-content');
var closer = document.getElementById('popup-closer');
/**
* Create an overlay to anchor the popup to the map.
*/
var overlay = new ol.Overlay({
element: container,
autoPan: true,
});
closer.onclick = function() {
overlay.setPosition(undefined);
closer.blur();
return false;}
map.on("singleclick", function(evt) {
//var coordinate = evt.coordinate;
//var hdms = ol.coordinate.toStringHDMS(ol.proj.transform(
//coordinate, 'EPSG:3857', 'EPSG:4326'));
content.innerHTML = '<p>You clicked here:</p><code>';
//overlay.setPosition(coordinate);
});