如何在Javascript中修改数组的内容
How to modify content of an array in Javascript
我正在使用Google Maps API在地图上创建一些区域。我将地理数据存储在数据库中,并通过Ajax获得它。
问题是API希望数据是一个对象,如:var myHome = { "lat" : "44.767778" , "long" : "-93.2775" };
所以我需要在数组中放入{"lat":和"long:…
};我怎么能那样做呢?
这是我在你的帮助下所做的。我没有出错,但地图上什么也没显示。我使用了来自API的百慕大三角角的例子作为模型:https://developers.google.com/maps/documentation/javascript/examples/polygon-autoclose
$.get(
"getZones.php", //Get geodata from database
function(data) {
locZone = data;
var reg=new RegExp("[/]+", "g"); //Separate points of the zone
var tableau=locZone.split(reg);
for (var i=0; i<tableau.length; i++) {
points = new google.maps.LatLng(tableau[i]);
coords.push(points);//Put the coordinates in a tab
}
var zone = new google.maps.Polygon({
paths: coords, //Use the tab like in the example from API
strokeColor: '#FF0000',
strokeOpacity: 0.8,
strokeWeight: 3,
fillColor: '#FF0000',
fillOpacity: 0.35
});
zone.setMap(map);
}
);
没关系,我只是重写了循环:
for (var i=0; i<tableau.length; i++) {
var b=tableau[i].split(","); //Separate lat & lng
points=new google.maps.LatLng(parseFloat(b[0]), parseFloat(b[1])); //Convert data into float type
coords.push(points);
}
可能最简单的方法(不需要看到任何示例代码)是将通过ajax获得的值放入一个新变量中。假设你获得的对象叫做geoData。geoData应该有两个值lat和long,或者不管你怎么称呼它们。
最简单的方法是:
var myHome = {
"lat": geoData.lat,
"long": geoData.long
}
您也可以直接通过google maps api创建LatLng
对象:
var latlng = new google.maps.LatLng(44.767778, -93.2775);
返回处理映射所需的对象
相关文章:
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 修改d3.js圆环图以读取json数组
- 迭代和修改Firebase数组会导致未定义
- 将修改后的数组作为参数传递给函数
- JavaScript:如何在迭代过程中修改数组中的值
- JavaScript:不修改实际数组的函数
- 修改后的原始数组值
- 修改隐藏输入中的json数组
- JavaScript-我可以用for循环中修改的属性将新结构推送到数组中吗
- 修改输入中的数组,然后返回输出
- 对JSON格式的对象数组进行迭代,并对其进行修改和扩展,最好使用Undercore.js
- Polymer:当数组中的对象被外部代码修改时,更新dom重复元素
- 如何过滤/修改主干集合本身,而不是获取新数组
- 我如何修改它以使用数组中的所有项目
- 在javascript中,如何将相同的对象两次推送到一个数组中,并进行一些修改而不覆盖数组
- Emscripten:调用修改数组元素的 C 函数
- JavaScript 修改 URL 参数数组
- 为什么数组上的 js 映射会修改原始数组
- JS多维数组修改值
- 通过包含引用的数组修改特定属性