I’m interested in determining if a lat/lng location is within the bounds and looking for recommendations on a algorithm. (javascript or php)
Here is what I have so far:
var lat = somelat; var lng = somelng; if (bounds.southWest.lat < lat && lat < bounds.northEast.lat && bounds.southWest.lng < lng && lng < bounds.northEast.lng) { 'lat and lng in bounds }
will this work? thanks
Advertisement
Answer
The simple comparison in your post will work for coordinates in the US. However, if you want a solution that’s safe for checking across the International Date Line (where longitude is ±180°):
function inBounds(point, bounds) { var eastBound = point.long < bounds.NE.long; var westBound = point.long > bounds.SW.long; var inLong; if (bounds.NE.long < bounds.SW.long) { inLong = eastBound || westBound; } else { inLong = eastBound && westBound; } var inLat = point.lat > bounds.SW.lat && point.lat < bounds.NE.lat; return inLat && inLong; }