我目前正在尝试使用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不是数字。感谢任何能说明为什么会这样的人。
答案 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)};