Bonjour, aujourd'hui je vous présente une
    application
    de la ville de Paris pour visualiser les lieux de tests de dépistages dans Paris. En effet avec la crise sanitaire actuelle, et le réveillon du 31
    qui approche à grand pas, il peut être utile de s'assurer que nous ne sommes
    pas infectés pour éviter d'infecter tous les proches ou amis avec qui nous
    pensons fêter la fin de cette année particulière.
    Pour en savoir plus n'hésitez pas à consulter leur
      site.
  
  
  I/ L'application
    L'application présente une Webmap issue d'un portail centrée et
      zoomée sur Paris sur laquelle nous pouvons visualiser les centres de
      santé, de dépistage, les pharmacies et les laboratoires à
      Paris. Chaque type d'établissement est représenté par une icône
      spécifique. 
  
  
    Une barre de recherche est présente pour rechercher une adresse.
  
  II/ L'aspect technique
      Une Webmap est chargée et dans le code et la rotation a été désactivée.
    
    var view = new MapView({
  map: webmap,
  constraints: {
    rotationEnabled: false
  }, // ROTATION
  container: "viewDiv"
});
    
      En quelques lignes, quelques widgets ont été ajoutés comme
      Search,
      Locate,
      Home,
        BasemapToggle (pour switcher entre des basemaps, ici la satellite et OSM),
      Legend.
    
    
      L'API JavaScript ArcGIS permet de créer des applications responsive. Vous
      pouvez définir le comportement de l'application selon la taille de l'écran
      sur lequel est visualisée l'application Web.
    
    
      Sur un grand écran comme un écran d'ordinateur la légende est affichée
      directement. Mais sur un plus petit appareil comme un téléphone, la place
      est limitée par conséquent la légende est rétrécie et c'est l'utilisateur
      qui choisit de la montrer ou non.
    
    
      La méthode 
    watch() permet d'appeler une fonction lorsqu'une propriété est
          affectée, ici la propriété widthBreakpoint indiquant la taille générale de la largeur de la vue.
        
    Donc dès que la propriété change alors on entre dans la fonction et on vérifie dans quel "case" on se trouve ce qui fera un appel à la fonction updateView pour savoir si l'on ajoute ou non la légende. Ainsi sur les téléphones, on est dans le case "xsmall" donc on n'affiche pas la légende. Vous retrouverez dans la propriété widthBreakpoint quel cas correspond à quelle largeur d'écrans en termes de pixels.
      // Load
        isResponsiveSize = view.widthBreakpoint === "xsmall"; updateView(isResponsiveSize); // Breakpoints
        view.watch("widthBreakpoint", function (breakpoint) { switch
        (breakpoint) { case
      "xsmall": updateView(true); break; case
      "small": case
      "medium": case
      "large": case
      "xlarge": updateView(false); break; default: } }); function
        updateView(isMobile) { setLegendMobile(isMobile); } function
        setLegendMobile(isMobile) { var
        toAdd = isMobile ? mobilelegend : legend; var
        toRemove = isMobile ? legend : mobilelegend; view.ui.remove(toRemove);
        view.ui.add(toAdd, "bottom-left"); }
    
    
      Je vous souhaite de très bonnes fêtes de fin d'année et à bientôt
        !
    
    
      Vous pouvez vous abonner à ce blog pour lire d'autres articles sur le développement Web
          d'applications cartographiques et découvrir comment notre API est une
          superbe alternative à Google Maps !
Vous voulez vous aussi réaliser des applications Web cartographiques et dynamiques ? N'hésitez pas à souscrire à un plan gratuit ArcGIS for Developers pour développer vos propres applications cartographiques 2D ou 3D ! Cet article résume ce que vous obtiendrez. Et pour en savoir sur l'API c'est ici.
  Vous voulez vous aussi réaliser des applications Web cartographiques et dynamiques ? N'hésitez pas à souscrire à un plan gratuit ArcGIS for Developers pour développer vos propres applications cartographiques 2D ou 3D ! Cet article résume ce que vous obtiendrez. Et pour en savoir sur l'API c'est ici.

 
 
 
 
Aucun commentaire:
Enregistrer un commentaire