如何在leaflet.js中将传单标记设置为div标签的中心

时间:2019-05-20 06:12:57

标签: javascript leaflet

我希望标记位于地图中心,但这是错误的。 我阅读了其余的文章,但是我的问题没有解决。

	var map = L.map('map').setView([lat, lng], 18);

L.tileLayer('https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk', {
    maxZoom: 18,
    id: 'mapbox.streets',
    accessToken: 'pk',
    attribution: 'nemajoo',
    watch: true
}).addTo(map);
var LeafIcon = L.Icon.extend({
    options: {

        iconSize:     [28, 60],
        shadowSize:   [50, 64],
        iconAnchor:   [22, 94],
        shadowAnchor: [4, 62],
        popupAnchor:  [-3, -76]
    }
});
var greenIcon = new LeafIcon({iconUrl: 'images/mrk.png'});
var center = map.getCenter();
var marker = L.marker([center.lat, center.lng],{icon: greenIcon}).addTo(map);

1 个答案:

答案 0 :(得分:1)

在没有图像的情况下,这里的问题可能是3种配置中的任何一种:

  • mrk.png 在图像内部具有一些间距,可以使用任何图像编辑工具进行修复。
  • 选项对象,位于 anchor标签上,移动图像,使其看起来好像没有居中。
  • 据我所知,设置中心时,首先从地图上获取中心,然后使用该中心定位图标,这很好完成,但具有远距缩放的标记不代表它居中准确。

在简历中: 问题出在 png anchor配置上,修改这些值,然后重试。

如果这不起作用,您可以上传示例最小项目,以便我们进行检查(不要上传api键或类似键)