循环对象数组,直到lat/lng不为零
Loop through object array until lat/lng is not zero
我有一个带有标记lat/lngs的对象数组,有时地址没有经过地理编码,所以我想跳过lat:0,lng:0。我现在要做的是设置一个循环,使它在数组中循环并找到第一个不为null的对象。
它不会显示地图,说它是未定义的。
这就是我到目前为止所想到的。
var Points = [{
lat: 0,
lng: 0
}, {
lat: 42,
lng: -72
}, {
lat: 41,
lng: -73
}];
function initMap()
{
for (var i = 0; i < Points.length; i++)
{
if (Points[i].lat * Points[i].lng != 0)
{
map = new google.maps.Map(document.getElementById('map'),
{
center: new google.maps.LatLng(Points[i].lat, Points[i].lng),
zoom: 10,
scaleControl: true
})
break;
}
else
{
continue;
}
}
}
使用array.filter
:
var Points = [{
lat: 0,
lng: 0
}, {
lat: 42,
lng: -72
}, {
lat: 41,
lng: -73
}];
/**
Given an object with `lat` and `lng` properties, return true if both `lat` and `lng` !== 0
- parameter p: the Point to test
- return: Bool true if both `lat` and `lng` !== 0
*/
function pointIsNonZero(p) {
return p.lat !== 0 && p.lng !== 0;
}
console.log(Points.filter(pointIsNonZero));
相关文章:
- 使用getElementById时不显示lat和lng
- 从GeoJson文件中获取单独的Lat和Lng值
- 通过lat和lng值设置标记
- 传单js:如何在地图上绘制任何标记的末尾获得Lat和lng
- 本地存储上的传单标记,如何获取标记 lat lng 并从存储中排除
- 谷歌地图API - 在数组中使用Lat Lng坐标绘制折线飞行路径
- MapBox 方向 - 获取自己的 Lat 和 Lng 方向
- 循环对象数组,直到lat/lng不为零
- 从一个有谷歌地图的地方获取lat和lng
- 如何将lat,lng信息传递到谷歌地图
- 热门从lat和lng获得谷歌地图
- 从多边形(多边形)边界内的多边形中心生成n个随机点(Lat-Lng对)
- 通过更新的lat&谷歌的lng将可拖动标记映射到另一个页面
- 可以'我不能从这个代码中得到lat和lng
- 投影([lat,lng])一直返回null
- googlemaps移动标记与来自ajax的lat/lng成功返回数据
- 将lat/lng坐标转换为给定地图上的像素(使用JavaScript)
- 如果我通过lat,lng作为变量,地图就会断裂
- 使用getCenter()创建GMap Lat/Lng对象时,v3.22中出现错误
- Google Geocoder为几个不同的地址返回同一组lat/lng.Lat/Lng是城市或乡镇的坐标,而不是地址