只是想知道是否有人能告诉我如何解决我遇到过的问题?用户将坐标(例如:85.231,40.213)放入文本区域,填充和数组,拆分它们,然后尝试创建用户指定的标记。
var stringArray = document.getElementById("geos").value.split('\n');
var x = [];
var y = [];
var cords = [];
var array = stringArray.split(','); //splits up array by ","
var j = 0;
for (var i = 0; i < array.length; i++) //assigns broken up array into x and y values
{
x[j] = array[i];
i++;
y[j] = array[i];
j++;
}
var textarea = document.getElementById("test");
//textarea.value = stringArray.join("\n");
//textarea.value = y;
for (var i = 0; i < stringArray.length; i++) //assigns x and y variables to coordinates
{
cords[i] = new google.maps.LatLng(x[i],y[i]);
}
textarea.value = cords.join("\n");
for ( var i = 0; i < cords.length; i++ ) //code that plots all the points in the array
{
var marker = new google.maps.Marker({ //create a new marker
position: cords[i],
map: map,
})
map.addOverlay( marker );
}
当我在“stringArray”和“split(”,“)之间添加”.toString()“时,我能够将项目输出到另一个文本区域,但似乎信息不想显示。任何见解?
由于
答案 0 :(得分:1)
map: map,
最后一个逗号会导致语法错误,请将其删除。
答案 1 :(得分:0)
您可能需要做的是确保您的latlng坐标正确地从字符串转换为数字。例如这可能会有所帮助,改变这一行:
cords[i] = new google.maps.LatLng(x[i],y[i]);
到此:
cords[i] = new google.maps.LatLng(parseFloat(x[i]), parseFloat(y[i]));