改變您的一次點擊收聽到這個
map.on('singleclick', function(evt) {
var coordinate = evt.coordinate;
var pixel = evt.pixel;
var hdms = ol.coordinate.toStringHDMS(ol.proj.transform(
coordinate, 'EPSG:3857', 'EPSG:4326'));
var pixelPos = [pixel[0]-(container.offsetWidth/2),pixel[1]-container.offsetHeight];
var coord = this.getCoordinateFromPixel(pixelPos);
console.log("coords",coord)
content.innerHTML = '<p>The arrow is in the middle<br/>And it\'s should pointing where I click (it\'s not the case...)</p><code>' + hdms +
'</code>';
overlay.setPosition(coord);
});
還能去除position:absolute
從你的.ol-popup
css類
只要確保在容器準備就緒後就啓動該功能。如果你只是改變你的聽衆功能,我建議。它不會在第一次點擊時工作,但它應該在第一次點擊之後進行每次點擊。看看代碼,瞭解這個想法,並根據你的情況進行調整。
檢查你的小提琴here(如所說的點擊兩次,看看它在行動)。或者更好here無需拆卸絕對位置
這應該是容易的,但我不知道你需要什麼。最初的例子是什麼? –
我希望彈出窗口像doubleclick一樣,但出現在不在點擊位置右側的正確位置。 – Maxime4000