我正在获取传单功能的中心以显示其标签.
然后,我在绑定标签时指定一个偏移量,使其显得更高,更直.
问题是我需要在entryJSON.getBounds().getCenter()代码中添加偏移量.
有没有办法在传单latlong对象中添加偏移量?(我可以想象像entryJSON.getBounds().getCenter().offset([ - 10,-57])之类的东西,但这不起作用......)
var marker = new L.marker(entryJSON.getBounds().getCenter(), { opacity: 0.01 });
marker.bindLabel('whatever here', {noHide: true, className: "info", offset: [-10, -57] });
Run Code Online (Sandbox Code Playgroud)
标签的偏移属性适用于像素,L.LatLng对象使用坐标而非像素.您可以做的是使用转换方法L.Map并将当前坐标位置转换为像素位置,更改然后转换回来:
var latLng = L.latLng([0,0]);
var point = map.latLngToContainerPoint(latLng);
var newPoint = L.point([point.x - 10, point.y - 57]);
var newLatLng = map.containerPointToLatLng(newPoint);
Run Code Online (Sandbox Code Playgroud)
示例:http://plnkr.co/edit/LeNqz8?p = preview
参考:http://leafletjs.com/reference.html#map-latlngtocontainerpoint