Javascript 使用传单创建圆(使用正半径)
在传单中画一个圆看起来很简单,您只需提供坐标、半径和可选的选项对象:Javascript 使用传单创建圆(使用正半径),javascript,leaflet,Javascript,Leaflet,在传单中画一个圆看起来很简单,您只需提供坐标、半径和可选的选项对象: L.circle( <LatLng> latlng, <Number> radius, <Path options> options? ) 由于某种原因,半径为负 这似乎是一个错误,因为文档中使用了半径的正值。我的代码中是否有错误导致了这种错误行为,或者可能是传单中的错误?在遇到问题后,我认为这是传单中的错误。我下载了当前版本的dev master和 新版本确实接受正值,并形成一个圆圈。
L.circle( <LatLng> latlng, <Number> radius, <Path options> options? )
由于某种原因,半径为负
这似乎是一个错误,因为文档中使用了半径的正值。我的代码中是否有错误导致了这种错误行为,或者可能是传单中的错误?在遇到问题后,我认为这是传单中的错误。我下载了当前版本的dev master和
新版本确实接受正值,并形成一个圆圈。然而,这是一个不同的方式马车。0.7指定圆的半径应以米为单位设置。在当前的dev版本中,即使值1也可以覆盖数百米
"use strict";
var theMap = L.map("map", {
minZoom: 0,
maxZoom: 7,
crs: L.CRS.Simple
}).setView([0, 0], 0),
eventsLayer = new L.LayerGroup(),
unproject = function (coord) {
return theMap.unproject(coord, theMap.getMaxZoom());
},
coord = unproject([12057.79, 13661.21]),
southWest = unproject([0, 32768]),
northEast = unproject([32768, 0]),
radius = -8653.18, // Why isn't it working with a positive radius?!?!?
circ = L.circle(coord, radius, {color: '#f00', fillColor: '#00f'});
theMap.setMaxBounds(new L.LatLngBounds(southWest, northEast));
L.tileLayer("https://tiles.guildwars2.com/1/1/{z}/{x}/{y}.jpg", {
minZoom: 2,
maxZoom: 7,
continuousWorld: true
}).addTo(theMap);
eventsLayer.addTo(theMap);
theMap.setView(coord, 7, {animate: true});
circ.addTo(eventsLayer);
radius = 1,