我目前正在尝试使用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不是数字。感谢任何可以提出原因的人。

最佳答案

应该不长

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)};

关于javascript - Google Maps API:设置LatLng值时引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36071595/

10-13 01:08