VIAMICHELIN JAVASCRIPT API


Weather

Weather est la classe en charge de la recherche des informations météorologiques. Il est lancé par VMLaunch().

Objet de paramétrage WeatherConfig

Préfixe des constantes: ViaMichelin.Api.Constants.Weather

PropriétésTypeDescriptionDéfaut
center GeoPoint ou {address: {GeocodingConfig}} Coordonnées géographiques du centre du recherche. Le service renvoie les informations météorologiques de la station la plus proche (qui n'est donc pas forcément la météo du centre de recherche).
Si une adresse est saisie, une opération de géocodage est effectuée.
N/A
nbDays int Nombre de jours de prévisions météorologiques souhaité. 5
map {container: DOMElement, focus: boolean} Elément DOM du conteneur de la carte utilisé pour afficher la météo. focus spécifie si la carte doit-être redessinée en s'ajustant aux limites de tous les objets graphiques qu'elle contient. -

 

Objet retourné par onSuccess

Un objet de type WeatherResponse. Si une donnée n'est pas disponible, elle est valorisée à [prefix].NO_DATA. Consulter la liste des prévisions possibles.

{
	name 		: /* string */,
	location : {
		coords : {
			lon : /* double */,		//longitude
			lat : /* double */,		//latitude
		},
	},
	dist 		: /* integer */,
	observation: {
		dayReport 		: /* string as DD/MM/YY */,
		hourReport 		: /* string as HH:MM */
		image : {
			iconId 		: /* integer */,
			mapIconPath 		: /* string */,
		},
		imageLabel 		: /* string */,
		temperatureMesured 		: /* float */,
		temperatureApparent 		: /* float */,
		windSpeedInfo 		: /* float */,
		windDirectionInfo 		: /* string */,
		humidityInfo 		: /* float */,
		visibilityInfo 		: /* string */,
		sunRise 		: /* string as ISO-8601 date*/,
		sunSet 		: /* string as ISO-8601 date*/,
		moonRise 		: /* string as ISO-8601 date*/,
		moonSet 		: /* string as ISO-8601 date*/
	},
	forecastList : [{ /* Forecast structure */
		dayForecast 		: /* integer */,
		dayReport 		: /* string as DD/MM/YY */,
		hourReport 		: /* string as HH:MM */
		image : {
			iconId 		: /* integer */,
			mapIconPath 		: /* string */,
		},
		imageLabel 		: /* string */,
		windSpeedInfo 		: /* float */,
		windDirectionInfo 		: /* string */,
		temperatureMinInfo 		: /* float */,
		temperatureMaxInfo 		: /* float */,
		fog 		: /* integer */,
		rainFall 		: /* integer */,
		snowRoad 		: /* integer */,

		getForecast()   : /* Méthode de récupération d'une structure HTML de la prévision  */,
	}],
	todayForecastList : [{ /* Same forecast structure */}],

	getStationForecasts()  : /* Méthode de récupération d'une structure HTML des prévisions */,
	getStationObservation() : /* Méthode de récupération d'une structure HTML des observations */,
	getStationCalendar()  : /* Méthode de récupération d'une structure HTML de l'éphéméride  */,
		getLayer()  : /* Méthode de récupération de l'objet graphique associé à la liste de POIs.*/,
	release () : /* Méthode de  libération de l'objet (nettoyage de la mémoire). */,
}

Facturation

Une requête facturée pour chaque recherche de météo et le géocodage du centre de recherche (si center est une adresse).

 

Principaux exemples concernés

Exploiter la météo

Exécuter cet exemple (ser1.htm)

var myMap = null;

function fLoadMap(){
 VMLaunch("ViaMichelin.Api.Map",{
   container: $_id("dMapContainer"),
   center: {coords:{lon: 2.34277, lat: 48.85767}},
   zoom: 6
  },{
   onInitError: function(){
    alert('Whoops Map cannot be loaded!');
   },
   onInit: function(serviceMap){
    myMap = serviceMap;
   },
   onError: function(error){
    alert("onError - error: "+ error);
   },
   onClick: function(event){
    var clickCoords = event;
    //Launch weather search centered on click coords.
    VMLaunch("ViaMichelin.Api.Weather", {
     center : event,
     //Gets 3-day forecast
     nbDays : 3
    },{
     onInitError: function(ref, error){
      alert("onInitError ref: "+ ref +", error: "+ error);
     },
     onError: function(error){
      alert("onError - error: "+ error);
     },
     onSuccess: function(weatherStation){
      if(weatherStation != null){
       //Display weather data
       $_id("dWeatherStationData").innerHTML = "<p>getStationObservation():</p>" + weatherStation.getStationObservation() + "<p>getStationCalendar():</p>" + weatherStation.getStationCalendar() + "<p>getStationForecasts():</p>" + weatherStation.getStationForecasts();
       myMap.removeAllLayers();
       //Plots weather icon, search center icon and link between them
       myMap.addLayer(new ViaMichelin.Api.Map.PolyLine({
        coords: [weatherStation.coords, clickCoords]
       }));         
       myMap.addLayer(new ViaMichelin.Api.Map.Marker({
        coords: clickCoords,
        zIndex:3,
        title: "Search center - Weather station: " + Math.round(weatherStation.dist/1000) + "km"
       }));
       myMap.addLayer(weatherStation.getLayer());
       myMap.drawMapFromLayers();
      }else{
       $_id("dWeatherStationData").innerHTML = "Unfortunately, there is no weather station close from this point!";
      }
     }
    }); //VMLaunch      
   }
  });//VMLaunch
 };//fLoadMap

Exécuter cet exemple (ser1.htm)

 

Retour haut de page