POI Layer
The ALKMaps.Layer.POI
layer allows you to search for and display points of interest within a specified distance of a given location. By default each POI is also given a popup
that display's additional information in addition to a hover tooltip with the POI's place name, but each of these features can also be turned off.
Parameter |
Type/Values |
Description |
displayInfo |
boolean |
Indicates whether or not to display info popups for POIs. This will be overriden for any POIs returned from the radiusSearch method
if the function level displayInfo option is specified. Default true .
|
displayName |
boolean |
Indicates whether or not to display hover tooltips with the POI's place name. This will be overriden for any POIs returned from the radiusSearch method
if the function level displayName option is specified. Default true .
|
var poiLayer = new ALKMaps.Layer.POI( "POI Layer", {
displayInfo: true,
displayName: false
});
map.addLayer(poiLayer);
POI searches can be done using the radiusSearch
function. The parameters for this function are explained in the table below.
Parameter |
Type/Values |
Description |
center |
ALKMaps.LonLat |
Center point of the search.
|
radius |
number |
Distance from the center point that will be included in the POI search.
|
units |
"Miles"|"Kilometers" |
Distance units of the radius. Default Miles.
|
categories |
string |
Single category name or comma delimited string of category names to include in the search. Default All.
Note: Please refer to the box below this table for a list of possible categories.
|
region |
string |
Data region of the search.
|
options |
object |
Options object. (optional)
Parameter |
Type |
Description |
externalGraphic |
string |
Single external graphic to use for all POIs returned by this search.
|
graphicHeight |
number |
Height of the graphic in pixels.
|
graphicWidth |
number |
Width of the graphic in pixels.
|
displayInfo |
boolean |
Indicates whether or not to display info popups for this search.
|
displayName |
boolean |
Indicates whether or not to display hover tooltip containing POI's place name for this search.
|
eraseSearches |
boolean |
Indicates whether or not to remove any existing POIs from previous searches.
|
limit |
Number |
Sets the limit for the maximum number of POIs that will be rendered on the layer. Default: null (no limit)
Note: If using Internet Explorer version 8 or lower, a defualt limit of 200 will be set. If provided, this will be overridden by the specified limit option (set to null for no limit).
Please note that increasing or removing the limit in IE8 can cause severly decreased performance and page crashes when attempting to render a high number of results.
|
|
success |
function |
Callback function called after success with the list of POIs returned from the service as its only parameter, and is expected to return an array of POIs.
This allows the user to manipulate the list of POIs (i.e. filter POIs by attribute) before it is passed to the layer for processing and rendering. (optional)
Note: Returning null , a non-array, or not returning anything will cause all POIs to still be displayed. In order to prevent any POIs from being rendered, an empty array must be returned.
|
failure |
function |
Callback function called after failure with the return object as a parameter. (optional)
|
Categories List:
"Airport"|"Attractions"|"AutoDealership"|"Automotive"|"Bank"|"BusTaxiLimo"|"Dining"|"Education"|"Emergency"|
"Entertainment"|"EventFacility"|"FerryTerminal"|"Gas"|"GeographicFeature"|"Government"|"GroceryStore"|
"GuestHouse"|"Lodging"|"Marina"|"Municipal"|"Other"|"Parking"|"Parks"|"PlaceOfWorship"|"RailwayStation"|
"RentACar"|"Retail"|"RVServices"|"SportsRec"|"Travel"|"TruckServices"|"WeighStation"
POI Data
The radius search will return up to 3000 POI's regardless of the miles requested. In some cases you may need to specify a smaller
radius to get a complete list of matches. Also, the API uses air miles not road miles.
The data returned for each POI is attached to its marker attributes. This data is broken up into three attribute properties; category
which is just the category name and the distanceFromCenter
and data
objects. Please reference the tables below for breakdown of the structure of this data
distanceFromCenter
Property |
Type/Values |
Description |
DistanceUnits |
[0 (Miles) | 1 (Kilometers)] |
Unit of measurement used for distance value.
|
Value |
Number |
Distance from the center point of the POI search.
|
data
Property |
Type/Values |
Description |
Address |
Object |
Property |
Type/Values |
Description |
City |
String |
City in which the POI is located.
|
Country |
String |
Country in which the POI is located.
|
County |
String |
County in which the POI is located.
|
State |
String |
State in which the POI is located.
|
StreetAddress |
String |
Street address of the POI.
|
Zip |
String |
Zip code of the POI's address.
|
|
Coords |
Object |
Property |
Type/Values |
Description |
Lat |
String |
Latitude value of the POI's location.
|
Lon |
String |
Longitude value of the POI's location.
|
|
Label |
String |
Distance from the center point of the POI search.
|
PlaceName |
String |
Distance from the center point of the POI search.
|
Region |
Number |
Data region of the POI.
|
Category Manipulation
The POI layer also gives you the ability to set the visibility or remove all the POI's of a specified category using the setCategoryVisibility
and removeCategory
functions respectively.
poiLayer.setCategoryVisibility("Dining", false); //hides all POI's in the Dining category
poiLayer.removeCategory("Lodging");
Retrieving POIs By Attribute
Using the POI layer's getPoisBy
function, you can retrieve any POIs from the layer with an attribute value matching the one specified in the parameters. The function takes two parameters the first being
the name of attribute such as "Category", and the second being the value of the attribute like "Dining" for example. A description of the supported attributes are explained in the table below.
Attribute |
Data Type |
Description |
Category |
String |
Will return all POIs on the layer in the given category. Please reference the POI search table for the
list of possible categories.
|
PlaceName |
String |
Useful for locating a specific single POI, using this attribute will return the POI with the matching PlaceName. Please note POIs such chain stores or restaurants will return multiple results if there
more than one of them on the layer.
|
City |
String |
Will return all POIs with an address located in the specified city.
|
State |
String |
Will return all POIs with an address located in the specified state.
|
Zip |
Number |
Will return all POIs with a 5 digit zip code that matches the specified value.
|
StreetAddress |
String |
Useful for locating a specific single POI, using this attribute will return the POI with a matching street address.
|
Street |
String |
Street actually uses the StreetAddress attribute and checks to see if it contains the specified street name. Please note that there can be streets with the same name accross
different cities, which depending on the search radius may result in undesired POIs being returned.
|
DistanceFromCenter |
Number |
Will return all POIs with a matching integer distance value. Please note that the specified value is compared with the floor of the POI's distance value.
|
poiLayer.getPoisBy("Zip",08901);