Javascript Openlayers,如何获得在地图上显示标记的正确坐标
我在从easyui datagrid获取正确坐标以在地图上显示标记时遇到问题。正如你所见,纬度是正数。(它们在北半球)但不知何故,在南半球可以看到这些标记。经度看起来不错。我找不到解决这个问题的办法 提前谢谢Javascript Openlayers,如何获得在地图上显示标记的正确坐标,javascript,gis,openlayers,Javascript,Gis,Openlayers,我在从easyui datagrid获取正确坐标以在地图上显示标记时遇到问题。正如你所见,纬度是正数。(它们在北半球)但不知何故,在南半球可以看到这些标记。经度看起来不错。我找不到解决这个问题的办法 提前谢谢 函数showTrack(){ var iconFeatures=[]; var num=$('#tracker grid').datagrid('getData').total; 对于(var i=0;i您在ol.View中使用的投影系统是什么?您确定作为lon和lat传递的是数字吗?请
函数showTrack(){
var iconFeatures=[];
var num=$('#tracker grid').datagrid('getData').total;
对于(var i=0;i您在ol.View
中使用的投影系统是什么?
您确定作为lon
和lat
传递的是数字吗?请尝试var coord=ol.proj.fromlont([parseFloat(lon),parseFloat(lat)];
。确切地说,问题是将坐标作为字符串而不是浮点数传递。问题已解决。谢谢。
function showTrack() {
var iconFeatures=[];
var num = $('#tracker-grid').datagrid('getData').total;
for(var i=0; i<num; i++){
var lon=$('#tracker-grid').datagrid('getRows')[i].longitude;
var lat=$('#tracker-grid').datagrid('getRows')[i].latitude;
var coord = ol.proj.fromLonLat([lon, lat]);
var iconFeature = new ol.Feature({
geometry: new ol.geom.Point(coord)
});
iconFeatures.push(iconFeature);
}
var vectorSource = new ol.source.Vector({
features: iconFeatures //add an array of features
});
var iconStyle = new ol.style.Style({
image: new ol.style.Icon(/** @type {olx.style.IconOptions} */ ({
scale: 0.5,
anchor: [0.5, 46],
anchorXUnits: 'fraction',
anchorYUnits: 'pixels',
opacity: 0.75,
src: 'img/pin-blue.png'
}))
});
var vectorLayerLoc = new ol.layer.Vector({
source: vectorSource,
style: iconStyle
});
map.addLayer(vectorLayerLoc);
}