Instrukcja zamieszczenia mapy DHL na stronie

W celu osadzenia mapy, należy załączyć ją jako iframe na stronie:

<iframe src="https://parcelshop.dhl.pl/mapa"></iframe>

W celu osadzenia mapy kraju z zagranicznymi punktami parcelShop lub packStation, należy załączyć ją jako iframe na stronie:

<iframe src="https://parcelshop.dhl.pl/mapa?country=DE&ptype=packStation"></iframe>

gdzie:
country = symbol kraju, np. DE, BE, AT...
ptype = parcelShop lub packStation (domyślnie parcelShop)

Aby przechwycić wybór odpowiedniego punktu serwisowego z mapy, należy dodatkowo obsłużyć na stronie wywołanie funkcji window.postMessage. Poniżej znajduje się przykładowy kod JavaScript do obsługi takiego zdarzenia:

<script type="text/javascript">
    /*<![CDATA[*/
    function listenMessage(msg) {
 
        if(jQuery.type(msg.data)=='object'){
            var point = msg.data;
        }else{
            var point = JSON.parse(msg.data);
        }
 
        alert(point.sap);
    }
    if (window.addEventListener) {
        window.addEventListener("message", listenMessage, false);
    } else {
        window.attachEvent("onmessage", listenMessage);
    }
    /*]]>*/
</script>

W powyższym kodzie należy zmienić treść funkcji listenMessage, tak aby na stronie odpowiednio obsłużyć wybór punktu serwisowego. Dane na temat punktu serwisowego są przekazywane w zmiennej msg.data. Jest to napis w formacie JSON, który po przechwyceniu należy przekonwertować na obiekt (w przykładzie została użyta metoda JSON.parse). Wynikowy obiekt posiada następujące parametry:

  • sap – nr sap,
  • name – nazwa punktu,
  • zip – kod pocztowy,
  • city – miejscowość,
  • street – ulica,
  • streetNo – numer ulicy,
  • houseNo – numer domu.

Mechanizm ten wspierany jest przez następujące przeglądarki: IE8+, FF3.0+, CHROME 1.0+, OPERA 9.5+