new alk.source.PolygonsCountyCache(opt_options)
This constructor creates a utility object for the Weather Alerts service which caches Polygons as they are common among weather alerts.
When a WeatherAlert becomes available, the source extracts its polygon. If the WeatherAlert.Polygon property is null, then the polygons are extracted from the WeatherAlert.FipsCodes property, which contains a space delimited list of 5 digit codes that name counties.
The following procedure is implemented.
var pgc = cache.getPolygonForCountyCode(code);
if (pgc == null) {
cache.queueCountyCode(code, future);
}
Where future is a function that will be called when the polygon
for that code becomes available.
And after processing all weather alerts, the source will call
cache.processQueue();
The processQueue function will call send out requests to the
PolygonsCountyService to retrieve the polygons and process them
when they come in.
| Option | Type | Description |
|---|---|---|
polygonsCountyService |
alk.service.PolygonsCountyService | undefined |
This option contains the service with which to get the polygons for county codes. If this option is undefined, then one is created with the polygonsCountyServiceOptions. |
polygonsCountyServiceOptions |
alkx.PolygonsCountyServiceOptions | undefined |
This option contains the options for creating the |
Methods
-
getPolygonForCountyCode(code){alkx.PolygonCounty|undefined}
-
This method returns a polygon response structure for the code. It may return undefined if there is none in the cache.
Name Type Description codestring -
processQueue(complete)
-
This method makes requests to get polygons for the codes queued up since the last call to this method. Since there is a size limit on calls made to the server, this method may make more than one request to get all the codes. If there are no codes queued, then no request is made.
When each code receives a polygon structure, its associated future is called.
Name Type Description completefunction Function is called to notify when all codes have been loaded.
-
queueCountyCode(code, future)
-
This method queues a county code to be requested when
alk.source.PolygonsCountyCache#processQueueis called. This method is called after getPolygonForCountyCode returns null or undefined;Name Type Description codestring The FIPS code
futurefunction Function to be called when code is loaded.