谷歌标记不显示用户定义的点

Google Marker does not appear with user defined points

本文关键字:定义 用户 显示 谷歌      更新时间:2024-01-23

只是想知道是否有人能告诉我如何解决我遇到的问题?用户将坐标(例如: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"answers"split(",")"之间添加".toString()"时,我可以将项目输出到另一个文本区域,但信息似乎不想显示。有什么见解吗?

感谢

map: map,

最后一个逗号将导致语法错误,请将其删除。

您可能需要做的是确保您的latlng坐标正确地从字符串转换为数字。例如,更改这一行可能会有所帮助:

cords[i] = new google.maps.LatLng(x[i],y[i]);

到此:

cords[i] = new google.maps.LatLng(parseFloat(x[i]), parseFloat(y[i]));