标记显示在错误的位置/无法在传单中设置中心点

问题描述

我使用Leaflet markercluster插件https://github.com/Leaflet/Leaflet.markercluster

当我将标记认坐标更改为其他坐标时,标记会放错地方。 此问题的示例:https://jsfiddle.net/allu1/nbv17oqc/5/

在“ geoJsonData”标签下,第一个标记的坐标已更改,但标记的位置完全错误

而且我也无法设置地图的中心点。我已经尝试了所有这些方法,但是没有任何效果

    var tiles = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',{
            maxZoom: 18,attribution: '&copy; <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',attribution: '&copy; <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',attribution: '&copy; <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 全屏选项显示得很好,但是地图的中心点不起作用。最主要的是中心点将起作用。

如有需要,我会提供更多信息。感谢您的回答!

解决方法

您似乎正在混淆Eastings和Northings。我不确定您要在哪里结束积分,但是(N64,E27)在芬兰,而(N27,E64)在巴基斯坦。

在Leaflet中,您指定了类似var latlng = L.latLng(latitude,longitude);的坐标(请参见the docs)。

在GeoJSON中(有关规范,请参见RFC7946),反之亦然。坐标以"coordinates": [longitude,latitude]格式指定。您可以从JSFiddle代码中的新西兰点开始以这种方式进行查找,因为175°作为纬度无效。

我从您的JSFiddle中看不到为什么将地图居中不起作用。但是,可能是因为您在脚本末尾使用了map.fitBounds(markers.getBounds());。这将使地图在标记群的中心居中,从而覆盖您最初可能设置为中心点的所有内容。因为您的测试坐标相距太远(一个在巴基斯坦,另一个在新西兰),所以JSFiddle中的代码将中心点设置为婆罗洲附近的某个地方。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...