Skip to content

Commit

Permalink
Add leaflet-pip revision
Browse files Browse the repository at this point in the history
  • Loading branch information
tmcw committed May 15, 2014
1 parent 9203d4d commit 7b042c4
Show file tree
Hide file tree
Showing 3 changed files with 65 additions and 0 deletions.
1 change: 1 addition & 0 deletions deploy.sh
Expand Up @@ -76,6 +76,7 @@ s3cmd put --acl-public --mime-type "image/png" plugins/leaflet-minimap/v1.0.0/im
s3cmd put --acl-public --mime-type "application/javascript" plugins/geo-viewport/v0.1.1/geo-viewport.js s3://mapbox-js/mapbox.js/plugins/geo-viewport/v0.1.1/geo-viewport.js
s3cmd put --acl-public --mime-type "application/javascript" plugins/geojson-extent/v0.0.1/geojson-extent.js s3://mapbox-js/mapbox.js/plugins/geojson-extent/v0.0.1/geojson-extent.js
s3cmd put --acl-public --mime-type "application/javascript" plugins/leaflet-pip/v0.0.1/leaflet-pip.js s3://mapbox-js/mapbox.js/plugins/leaflet-pip/v0.0.1/leaflet-pip.js
s3cmd put --acl-public --mime-type "application/javascript" plugins/leaflet-pip/v0.0.2/leaflet-pip.js s3://mapbox-js/mapbox.js/plugins/leaflet-pip/v0.0.2/leaflet-pip.js
echo ""
echo ""
echo "--- DEPLOYED mapbox.js plugins ----"
5 changes: 5 additions & 0 deletions plugins.json
Expand Up @@ -238,6 +238,11 @@
"files": [
"leaflet-pip.js"
]
},
"0.0.2": {
"files": [
"leaflet-pip.js"
]
}
}
}
Expand Down
59 changes: 59 additions & 0 deletions plugins/leaflet-pip/v0.0.2/leaflet-pip.js
@@ -0,0 +1,59 @@
!function(e){if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else{var f;"undefined"!=typeof window?f=window:"undefined"!=typeof global?f=global:"undefined"!=typeof self&&(f=self),f.leafletPip=e()}}(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
var pip = require('point-in-polygon');

function getLls(l) {
var lls = l.getLatLngs(), o = [];
for (var i = 0; i < lls.length; i++) o[i] = [lls[i].lng, lls[i].lat];
return o;
}

var leafletPip = {
bassackwards: false,
pointInLayer: function(p, layer, first) {
'use strict';
if (p instanceof L.LatLng) p = [p.lng, p.lat];
if (leafletPip.bassackwards) p.reverse();

var results = [];
layer.eachLayer(function(l) {
if (first && results.length) return;
// multipolygon
var lls = [];
if (l instanceof L.MultiPolygon) {
l.eachLayer(function(sub) { lls.push(getLls(sub)); });
} else if (l instanceof L.Polygon) {
lls.push(getLls(l));
}
for (var i = 0; i < lls.length; i++) {
if (pip(p, lls[i])) results.push(l);
}
});
return results;
}
};

module.exports = leafletPip;

},{"point-in-polygon":2}],2:[function(require,module,exports){
module.exports = function (point, vs) {
// ray-casting algorithm based on
// http://www.ecse.rpi.edu/Homepages/wrf/Research/Short_Notes/pnpoly.html

var x = point[0], y = point[1];

var inside = false;
for (var i = 0, j = vs.length - 1; i < vs.length; j = i++) {
var xi = vs[i][0], yi = vs[i][1];
var xj = vs[j][0], yj = vs[j][1];

var intersect = ((yi > y) != (yj > y))
&& (x < (xj - xi) * (y - yi) / (yj - yi) + xi);
if (intersect) inside = !inside;
}

return inside;
};

},{}]},{},[1])
(1)
});

0 comments on commit 7b042c4

Please sign in to comment.