我正在尝试获取具有形状选项信息的字符串并在我的 Google 地图应用程序上创建形状。
该字符串是通过拆分从本地文本文档构建的数组来创建的。
字符串显示为: Circle{center: new google.maps.LatLng(38.041872419557094, -87.6046371459961),radius:5197.017394363823,fillColor: '#000000',strokeWeight: 1,strokeColor: '#000000',map:map};
我必须采用这样的字符串并使形状显示为的函数:
function loadDrawings(evt)
{
var f = evt.target.files[0];
if (!f)
{
alert("Failed to load file");
}
else if (!f.type.match('text.*'))
{
alert(f.name + " is not a valid text file.");
}
else
{
var r = new FileReader();
r.onload = function (e)
{
var contents = e.target.result;
var drawings = [];
var drawing;
var drawingType;
var shape;
var shapeOptions;
drawings = contents.split(";");
for (i = 0; i < drawings.length - 1; i++) {
drawing = drawings[i].toString();
drawingType = drawing.substr(0, drawing.indexOf('{'));
if (drawingType == "Circle")
{
shapeOptions = drawing.substr(6); //UNIQUE TO CIRCLE
shape = new google.maps.Circle(shapeOptions);
shape.setMap(map);
}
};
}
r.readAsText(f);
}
}
我的问题是 shapeOptions 作为字符串在上述用于创建 Circle 的语法中不起作用。但是,如果我获取字符串的内容,即:
{center: new google.maps.LatLng(38.041872419557094, -87.6046371459961),radius:5197.017394363823,fillColor: '#000000',strokeWeight: 1,strokeColor: '#000000',map:map}
并且直接输入它,形状就出现了。
我的 shapeOptions 是否需要某种变量类型才能正常工作?我知道新的 google.maps。需要(),但我没有运气从我的字符串创建一个变量。我在这里错过了什么吗?
非常感谢任何帮助!