Local Schools
Description
Local Schools est un widget basé sur une carte qui permet aux utilisateurs d'afficher des écoles et leurs zones de fréquentation scolaire sur une carte, avec un filtrage par type, niveau et langues offertes par l'établissement.

Exemple
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta
name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1"
/>
<link
rel="shortcut icon"
type="image/png"
href="https://cdn.locallogic.co/favicon.ico"
/>
<link
href="https://fonts.googleapis.com/css?family=Source+Sans+Pro"
rel="stylesheet"
/>
<script src="https://maps.googleapis.com/maps/api/js?key={YOUR_GOOGLE_KEY}"></script>
<style type="text/css">
html,
body {
margin: 0;
padding: 0;
font-family: "Source Sans Pro";
font-size: 14px;
}
#mapContainer {
padding: 100px;
margin: auto;
}
#map {
height: 600px;
width: 100%;
}
</style>
</head>
<body>
<div id="mapContainer">
<div id="map"></div>
</div>
<!-- Créez un contrôle Google Maps pour monter le widget -->
<script type="text/javascript">
map = new google.maps.Map(document.getElementById("map"), {
center: { lat: 49.2827, lng: -123.1207 },
zoom: 13,
});
var SchoolsMapControl = function (div, map) {
var d = document.createElement("div");
d.setAttribute("id", "local-schools");
div.appendChild(d);
};
var schoolsControlDiv = document.createElement("div");
var schoolsControlComponent = new SchoolsMapControl(
schoolsControlDiv,
map,
);
schoolsControlDiv.index = 1;
map.controls[google.maps.ControlPosition.RIGHT_TOP].push(
schoolsControlDiv,
);
</script>
<script type="text/javascript">
function initLocallogic() {
var schoolsWidget = new locallogic.LocalSchools("local-schools", {
googleMapsMap: map,
locale: "en",
color: "#008794",
asMapControl: true,
});
}
</script>
<script
async
defer
src="https://cdn.locallogic.co/sdk/?token={YOUR_TOKEN}&callback=initLocallogic"
></script>
</body>
</html>
Veuillez noter que si votre fournisseur de fond de carte n'est pas pris en charge nativement par le
SDK Local Schools, il pourrait tout de même être pris en charge via l'option leafletMap. Dans
ce cas, vous devrez d'abord trouver et mettre en œuvre le plugin Leaflet
correspondant au fond de carte que vous souhaitez utiliser. Vous devrez ensuite
instancier une nouvelle carte Leaflet en utilisant le fond de carte comme tileLayer. L'instance Leaflet peut
être transmise au SDK à l'aide de l'option leafletMap. Veuillez noter qu'une telle
configuration sera considérée comme du code personnalisé, et que seules des options de soutien limitées
pourraient être disponibles.
Options
| Parameter | Status | Description |
|---|---|---|
| googleMapsMap | requis | L'instance de carte Google Maps à laquelle vous souhaitez associer le widget Local Schools. (Vous devez inclure soit celle-ci, soit leafletMap) |
| leafletMap | optionnel | L'instance de carte Leaflet à laquelle vous souhaitez associer le widget Local Maps. (Vous devez inclure soit celle-ci, soit googleMapsMap) |
| locale | optionnel | Valeur de type chaîne de caractères qui précise la langue du widget. Disponible : fr (français), en (anglais).Par défaut : en |
| color | optionnel | Valeur hexadécimale de la couleur principale. Par défaut : #017f8f |
| country | optionnel | Valeur de type chaîne de caractères qui précise le pays sur lequel les Local Schools sont superposées. Disponible : CA (Canada), US (États-Unis d'Amérique)Par défaut : CA |
| filterPanelOpen | optionnel | Valeur booléenne qui précise si le panneau de filtre du sélecteur de cotes est ouvert au moment de l'instanciation du widget. Par défaut : false |
| maxViewportSize | optionnel | Valeur numérique qui précise la taille maximale de la fenêtre d'affichage à laquelle les écoles seront affichées sur la carte. Par défaut : 2000000000 |
| asMapControl | optionnel | Valeur booléenne qui précise si vous montez le widget en tant que contrôle de carte personnalisé. Par défaut : false |
| detailsMapPosition | optionnel | Chaîne de caractères représentant la position du panneau de détails de l'école sur la carte. Disponible : consultez Control Positioning pour connaître les options Par défaut : RIGHT_TOP |
| selectedSchool | optionnel | Chaîne de caractères représentant l'ID d'une école présélectionnée. La carte effectuera un panTo vers l'école. |
Méthodes
isReady ()
Retourne une valeur booléenne. N'appelez aucune autre méthode tant que celle-ci n'est pas vraie.
schoolsWidget.isReady();
destroy ()
Utilisez cette méthode pour retirer de la page et de la carte tous les éléments liés à l'instance
schoolsWidget.destroy();
categories ()
Retourne un tableau de catégories, contenant des tableaux des différenciateurs d'écoles disponibles
schoolsWidget.categories();
> [{title: "type",
scores: ["public", "private"]},
{title: "level",
scores: ["elementary", "secondary"]},
{title: "language",
scores: ["english", "french", "other"]}]
show (filterArray)
Affiche différentes écoles sur la carte sans interactions avec l'interface utilisateur
schoolsWidget.show(["elementary", "private", "public", "french", "english"]);
selectionAdd
(scoreString) Ajoute une seule cote aux différenciateurs d'écoles actuellement affichés sur la carte
schoolsWidget.selectionAdd("french");
selectionRemove
(scoreString) Retire une seule cote des différenciateurs d'écoles actuellement affichés sur la carte
schoolsWidget.selectionRemove("english");
selection ()
Retourne un tableau des différenciateurs d'écoles actuellement sélectionnés
schoolsWidget.selection();
> ["french", "private", "elementary"]
selectionHas
(scoreString) Retourne une valeur booléenne indiquant si la cote spécifiée fait partie ou non de la sélection actuelle
schoolsWidget.selectionHas("english");
disable ()
Désactive la superposition des écoles sur la carte
schoolsWidget.disable();
enable ()
Active la superposition des écoles sur la carte
schoolsWidget.enable();
isEnable ()
Retourne une valeur booléenne indiquant si la superposition des écoles est activée ou non
schoolsWidget.isEnable();
selectSchool (schoolId)
Sélectionne l'école spécifiée. Ceci provoque l'ouverture du panneau de détails de l'école.
schoolsWidget.selectSchool("c2b2mummz5y2_elemschool");
clearSelectedSchool ()
Efface l'école sélectionnée
schoolsWidget.clearSelectedSchool();
Événements
ll-select-school
Émis lorsque l'utilisateur sélectionne une école. L'événement contient un objet detail avec une propriété schoolId.
document.addEventListener("ll-select-school", function (e) {
console.log(e.detail);
});
ll-unselect-school
Émis lorsque l'utilisateur ferme le panneau de détails de l'école.
document.addEventListener("ll-unselect-school", function (e) {
console.log(e.type);
});
ll-schools-exceeded-max-viewport
Émis lorsque la fenêtre d'affichage de la carte est trop grande pour afficher les Local Schools.
document.addEventListener("ll-schools-exceeded-max-viewport", function () {
console.log("some action");
});
ll-schools-within-max-viewport
Émis lorsque la fenêtre d'affichage de la carte est suffisamment petite pour afficher les Local Schools.
document.addEventListener("ll-schools-within-max-viewport", function () {
console.log("some action");
});