我目前正在尝试使用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/