免責聲明:我是Stackoverflow的新手,如果我不遵循協議,請告訴我!單張js中心彈出式問題(僅在幾個國家)
在過去的幾天裏,我已經開始學習單張JS,它非常酷。我已經制作了一個交互式地圖,遵循教程,並且它不壞。不過,我在集中精選某些國家/地區的彈出窗口時遇到了問題。
在highlightFeature函數中,我用centrePoint = e.target.getCenter();
存儲了中心點。這似乎適用於除俄羅斯,中國,澳大利亞,加拿大和美國以外的所有國家/地區。如果任何人都能指出我的正確方向並闡明爲什麼會出現這種情況,我將非常感激。
您可以在這裏找到項目http://codepen.io/CucumberCoolie/pen/yMyrWq?editors=0010
// highlight interaction on mouseover
function highlightFeature(e) {
var layer = e.target,
popup = L.popup(),
name = layer.feature.properties.name,
centrePoint = e.target.getCenter();
layer.setStyle({
weight: 1,
color: '#666',
fillColor: '#fff7bc',
dashArray: '',
fillOpacity: 0.7
});
if (!L.Browser.ie && !L.Browser.opera && !L.Browser.edge) {
layer.bringToFront();
}
countryName.textContent = name;
facts.update(layer.feature.properties);
// Add popup on mouseover
popup.setLatLng(centrePoint)
.setContent(name)
.openOn(map);
}
提前感謝!
感謝響應,這就是真正拓寬了我的理解。您鏈接的帖子非常有趣。 我想我可以編寫一個函數,使用你的方法來找到引起問題的國家的中心,儘管它不會很優雅。 我肯定會研究鏈接到的帖子中的Mapbox解決方案。 再次感謝,非常有幫助! – cucumbercoolie