Javascript 标记和圆标记具有不同的视觉位置
Javascript 标记和圆标记具有不同的视觉位置,javascript,leaflet,maps,Javascript,Leaflet,Maps,var-map=L.map('map').setView([51.505,-0.09],18); L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{ 属性:“©;贡献者” }).addTo(地图); var marker1=L.marker([51.505,-0.09]); var FeatureGroup=L.geoJson([]{ pointToLayer:函数(f,l){ 返回L.circleMarke
var-map=L.map('map').setView([51.505,-0.09],18);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
var marker1=L.marker([51.505,-0.09]);
var FeatureGroup=L.geoJson([]{
pointToLayer:函数(f,l){
返回L.circleMarker(L);
}
});
//许多特征
var指数=4000;
var-yindex=0;
while(索引){
y=“51.5”+索引
y=y*1
FeatureGroup.addData({
键入:“功能”,
属性:{},
几何图形:{类型:“点”,坐标:[-0.09,y]}
});
索引--;
}
//var坐标=marker1.getLatLng();
变量特征={
键入:“功能”,
属性:{},
几何体:{键入:“点”,坐标:[marker1.getLatLng().lng,marker1.getLatLng().lat]}
};
//var circleMarker=L.circleMarker(坐标);
FeatureGroup.addLayer(marker1);
map.addLayer(功能组);
setTimeout(函数(){
//移除标记
FeatureGroup.removeLayer(标记1.\u传单\u id);
//添加圆标记
FeatureGroup.addData(特征);
},2000);代码>
.map{
宽度:自动;
高度:350px
}
FeatureGroup
中的circleMarker
以正确的坐标显示,但视觉上位于另一个位置
您可能被“视错觉”所愚弄,因为标记只指向给定坐标,其图标位于该位置上方,而圆圈标记位于同一位置的中心
通过同时显示标记和圆标记,可以看到效果:
var-map=L.map('map').setView([51.505,-0.09],18);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png'{
属性:“©;贡献者”
}).addTo(地图);
var marker1=L.marker([51.505,-0.09]);
var FeatureGroup=L.geoJson([]{
pointToLayer:函数(f,l){
返回L.circleMarker(L);
}
});
变量特征={
键入:“功能”,
属性:{},
几何图形:{
键入:“点”,
坐标:[marker1.getLatLng().lng,marker1.getLatLng().lat]
}
};
FeatureGroup.addLayer(marker1);
//添加圆标记
FeatureGroup.addData(特征);
map.addLayer(功能组)代码>
.map{
宽度:自动;
高度:350px
}
处于完全不同的位置,或者只是被固定的数量抵消?请确保在问题中包含足够的细节和代码,以便人们能够理解和再现您的问题。特别是关于提供了一些指导。