Google Maps API:设置LatLng值时抛出错误

时间:2016-03-17 21:00:12

标签: javascript google-maps google-maps-api-3

我目前正在尝试使用Google Maps API来显示存储在tweet_object对象中的经度和纬度值的标记。这是我的代码:

    for (i = 0; i < tweet_object.length; i ++) {
        console.log("Latitude for " + i + ": " + tweet_object[i].latitude);
        console.log("Longitude for " + i + ": " + tweet_object[i].longitude);
        if (tweet_object[i].latitude !== 0 && tweet_object[i].longitude !== 0) {
            var myLatLng = {lat: Math.round(tweet_object[i].latitude), long: Math.round(tweet_object[i].longitude)};
            //var myLatLng = {lat: parseFloat(tweet_object[i].latitude), long: parseFloat(tweet_object[i].longitude)};
            console.log("LatLng: " + myLatLng.lat + ", " + myLatLng.long);
            var marker = new google.maps.Marker({
                map: map,
                position: myLatLng
            });
        };
        console.log("Number: " + i);
    }

我得到以下输出:

纬度3:-54.4333(来自第2行)

3:3.4000的经度(来自第3行)

LatLng:-54,3(来自第7行)

InvalidValueError:setPosition:不是LatLng或LatLngLiteral:属性lng:不是数字

纬度/经度以四个小数点的形式出现,通过tweet_object [i] .latitude和tweet_object [i]。经度。我已经尝试了Math.round和parseFloat(以及只是输入tweet_object [i] ._____)来让它们工作,但是一切都抛出相同的错误,lng不是数字。感谢任何能说明为什么会这样的人。

1 个答案:

答案 0 :(得分:2)

应该不久

var myLatLng = {lat: Math.round(tweet_object[i].latitude), long: Math.round(tweet_object[i].longitude)};

尝试

var myLatLng = {lat: Math.round(tweet_object[i].latitude), lng: Math.round(tweet_object[i].longitude)};