Openlayers 3 setCenter总是在南极附近结束

Openlayers 3 setCenter总是在南极附近结束,openlayers-3,Openlayers 3,我是OpenLayers3的新手,尝试构建一个简单的表单,将我的地图集中到一个给定的位置。问题是我总是在靠近南极的地方着陆。这是我的密码: var map = new ol.Map({ target: 'map', layers: [ new ol.layer.Tile({ source: new ol.source.OSM }) ], view: new ol.View({ center: [0,0],

我是OpenLayers3的新手,尝试构建一个简单的表单,将我的地图集中到一个给定的位置。问题是我总是在靠近南极的地方着陆。这是我的密码:

 var map = new ol.Map({
    target: 'map',
    layers: [
      new ol.layer.Tile({
        source: new ol.source.OSM
      })
    ],
    view: new ol.View({
      center: [0,0],
      zoom: 8
    })

    search.addEventListener("change", searchChanged);
    function searchChanged()
    {
        var searchVal = encodeURIComponent(search.value);
        var geocode = 'http://open.mapquestapi.com/nominatim/v1/search.php?key=KEY&format=json&q=' + searchVal;

        $.getJSON(geocode, function(data)
            {
            if(!data)
                {
                return;
                }
            map.getView().setCenter(ol.proj.transform([data[0].lon, data[0].lat], 'EPSG:4326', 'EPSG:3857'));
            }
        );
    }

确保坐标不会被视为字符串:

ol.proj.transform([parseFloat(data[0].lon), parseFloat(data[0].lat]), 'EPSG:4326', 'EPSG:3857')
更好的方法是调试它:

var coord = ol.proj.transform([parseFloat(data[0].lon), parseFloat(data[0].lat]), 'EPSG:4326', 'EPSG:3857');
console.info(coord);

确保坐标不会被视为字符串:

ol.proj.transform([parseFloat(data[0].lon), parseFloat(data[0].lat]), 'EPSG:4326', 'EPSG:3857')
更好的方法是调试它:

var coord = ol.proj.transform([parseFloat(data[0].lon), parseFloat(data[0].lat]), 'EPSG:4326', 'EPSG:3857');
console.info(coord);