三國紛爭
2023-07-06 11:08:29
我使用 Leaflet markercluster 插件:https ://github.com/Leaflet/Leaflet.markercluster當(dāng)我將標(biāo)記的默認(rèn)坐標(biāo)更改為其他坐標(biāo)時,標(biāo)記會出現(xiàn)錯誤的位置。此問題的示例:https://jsfiddle.net/allu1/nbv17oqc/5/在“geoJsonData”標(biāo)簽下方,第一個標(biāo)記坐標(biāo)已更改,但標(biāo)記完全位于錯誤的位置。而且我也無法設(shè)置地圖的中心點(diǎn)。我已經(jīng)嘗試了所有這些,但沒有任何效果: var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' });var centermap = L.latLng(64.299791, 27.182384); var map = L.map('map') .setView(centermap, 5).addLayer(tiles);和var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' }), latlng = L.latLng(64.299791, 27.182384); var map = L.map('map', {center: latlng, zoom: 5.5, fullscreenControl: true, }).addLayer(tiles);和var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { maxZoom: 18, attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors' }); var map = L.map('map', { center: L.latLng(64.299791, 27.182384), zoom: 4}).addLayer(tiles);我使用過Leaflet全屏插件:https://github.com/Leaflet/Leaflet.fullscreen 并且全屏選項顯示良好,但地圖的中心點(diǎn)不起作用。最主要的是中心點(diǎn)可以工作。如果需要的話,我會提供更多信息。感謝您的回答!
1 回答

飲歌長嘯
TA貢獻(xiàn)1951條經(jīng)驗 獲得超3個贊
看來您混淆了東向和北向。我不確定您希望積分最終在哪里,但 (N64, E27) 在芬蘭,而 (N27, E64) 在巴基斯坦。
在 Leaflet 中,您可以指定一個坐標(biāo)var latlng = L.latLng(latitude, longitude);
在 GeoJSON(參見RFC7946規(guī)范)中,情況正好相反。坐標(biāo)以格式指定"coordinates": [longitude, latitude]
。您可以從 JSFiddle 代碼中的新西蘭點(diǎn)看到它是這樣的,因為 175° 不是有效的緯度。
我從你的 JSFiddle 中看不出為什么地圖居中不起作用。map.fitBounds(markers.getBounds());
但是,這可能是因為您在腳本末尾使用了。這將使地圖居中于標(biāo)記簇的中心,從而覆蓋您最初設(shè)置為中心點(diǎn)的任何內(nèi)容。由于您的測試坐標(biāo)相距很遠(yuǎn)(一個在巴基斯坦,另一個在新西蘭),JSFiddle 中的代碼將中心點(diǎn)設(shè)置為婆羅洲附近的某個位置。
添加回答
舉報
0/150
提交
取消