Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Openlayers,如何获得在地图上显示标记的正确坐标_Javascript_Gis_Openlayers - Fatal编程技术网

Javascript Openlayers,如何获得在地图上显示标记的正确坐标

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传递的是数字吗?请

我在从easyui datagrid获取正确坐标以在地图上显示标记时遇到问题。正如你所见,纬度是正数。(它们在北半球)但不知何故,在南半球可以看到这些标记。经度看起来不错。我找不到解决这个问题的办法

提前谢谢

函数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);

}