18 holes par 72 (6789 meter)
Op slechts 15 minuten rijden van de internationale luchthaven van Chiang Mai ligt de North Hill Golf Club, een 18-holes par-72 baan die in 2014 voor het publiek werd geopend. Deze voormalige privégolfbaan met 9 holes staat bekend om zijnuitstekende conditionering, die normaal gesproken alleen te vinden zijn bij ledenclubs. De baan is een lokaal Thais ontwerp, geschikt voor golfers van alle niveaus. Het kleine, maar stijlvolle clubhuis beschikt over een bar, restaurant, spa, fitnesscentrum, driving range en pro-shop. Wat North Hill Golf Club onderscheidt, is het vriendelijke, deskundige personeel. Caddies zijn te huur en spreken over het algemeen goed Engels. Met panoramisch uitzicht opDoi Suthepen de omliggende bergen van Chiang Mai, North Hill Golf Club is een top trekpleister voor golfers naar Chiang Mai. De relatief centrale locatie, slechts 25 minuten ten zuiden van het stadscentrum, bij de Hang Dong-weg, maakt het toegankelijk engemakkelijk te bereikenvoor de lokale bevolking en bezoekers. Voor een leuke, redelijk geprijsde ronde golf op een goed geconditioneerde baan hoeft u niet verder te zoeken dan North Hill Golf Club.
North Hill-fotogalerij
Gedetailleerde informatie over North Hill
Gaten: | 18 | Par: | 72 |
Gebied: | 6789 meter | Ontwerper: | Lokaal Thais ontwerp |
Gevestigd: | 2014 | Plaats: | Ten zuiden van de stad bij Chiang Mai – Hang Dong Road |
Afstand: | 15 minuten van de luchthaven van Chiang Mai | Open: | Elke dag geopend |
Max. golfers per groep: | Weekdag: 5 | Winkelwagen: | 600 Baht |
Weekend: 4 | |
Golfset: | 1.000 Baht | Schoenen: | 200 Baht |
Paraplu: | 150 Baht | Driving Range: | Geen |
Faciliteiten: | Bar, restaurant, spa, fitnesscentrum, pro-shop |
Plattegrond Noordheuvel
"; var newNode = document.createElement("div"); newNode.setAttribute("id", datePickerDivID); newNode.setAttribute("class", "dpDiv"); newNode.setAttribute("style", "visibility: hidden ;"); document.body.appendChild(newNode); } // verplaats de datepicker div naar de juiste x,y coördinaat en verander de zichtbaarheid var pickerDiv = document.getElementById(datePickerDivID); pickerDiv.style.position = "absolute" ; pickerDiv.style.left = x + "px"; pickerDiv.style.top = y + "px"; pickerDiv.style.visibility = (pickerDiv.style.visibility == "zichtbaar" ? "verborgen" : "zichtbaar" ); pickerDiv.style.display = (pickerDiv.style.display == "block" ? "none" : "block"); pickerDiv.style.zIndex = 10000; // teken de datepicker-tabel refreshDatePicker(targetDateField.name, dt .getFullYear(), dt.getMonth(), dt.getDate());}/**Dit is de functie die daadwerkelijk de datumkiezerkalender tekent.*/function refreshDatePicker(dateFieldName, year, month, day){ // if er worden geen argumenten doorgegeven, gebruik de datum van vandaag, anders zijn maand en jaar // vereist (als een dag is verstreken, wordt deze later gemarkeerd) var thisDay = new Date(); if ((maand >= 0) && (jaar > 0)) { thisDay = nieuwe Datum(jaar, maand, 1); } else { dag = thisDay.getDate(); thisDay.setDate(1); } // de kalender wordt getekend als een tabel // u kunt de tabelelementen aanpassen met een globaal CSS-stijlblad, // of door hardcoderingsstijl en opmaakelementen hieronder var crlf = "\r\n"; var TABEL = "
" + crlf; var TR = "
"; var TR_title = "
"; var TR_days = "
"; var TR_todaybutton = "
"; var xTR = "
" + crlf; var TD = "
") + xTD; html += xTR; // dit is de rij die aangeeft op welke dag van de week we ons bevinden html += TR_days; for(i = 0; i < dayArrayShort.length; i++) html += TD_days + dayArrayShort[i] + xTD; html += xTR; // nu beginnen we de tabel te vullen met de dagen van de maand html += TR; // eerst de voorloopspaties voor (i = 0; i < thisDay. getDay(); i++) html += TD + " " + xTD; // nu, de dagen van de maand doen { dayNum = thisDay.getDate(); TD_onclick = " onclick=\"updateDateField('" + dateFieldName + " ', '" + getDateString(thisDay) + "');\">"; if (dayNum == day) html += TD_selected + TD_onclick + DIV_selected + dayNum + xDIV + xTD; else html += TD + TD_onclick + dayNum + xTD; // als dit een zaterdag is, start dan een nieuwe rij if (thisDay.getDay() == 6) html += xTR + TR; // verhoog de dag thisDay.setDate(thisDay.getDate() + 1) ; } while (thisDay.getDate() > 1) // vul eventuele lege plekken in als (thisDay.getDay() > 0) { for (i = 6; i > thisDay.getDay(); i--) html + = TD + " " + xTD; } html += xTR; // voeg een knop toe waarmee de gebruiker gemakkelijk kan terugkeren naar vandaag, of sluit de kalender var today = new Date(); var todayString = "Vandaag is " + dayArrayMed[today.getDay()] + ", " + monthArrayMed[ today.getMonth()] + " " + today.getDate(); html += TR_vandaagknop + TD_vandaagknop; html+= " "; html+= ""; html += xTD + xTR; // en sluit ten slotte de tabel html += xTABLE; document.getElementById(datePickerDivID).innerHTML = html; // voeg een "iFrame shim" toe zodat de datumkiezer bovenstaande selectielijsten kan weergeven adjustiFrame();}/**Gemaksfunctie voor het schrijven van de code voor de knoppen die ons een maand terug of vooruit brengen.*/function getButtonCode(dateFieldName, dateVal , aanpassen, labelen){ var newMonth = (dateVal.getMonth () + aanpassen) % 12; var newYear = dateVal.getFullYear() + parseInt((dateVal.getMonth() + aanpassen) / 12); als (nieuweMaand < 0) { nieuweMaand += 12; nieuwjaar += -1; } return "";}/**Converteer een JavaScript Date-object naar een string, gebaseerd op de dateFormat en dateSeparatorvariables aan het begin van deze scriptbibliotheek.*/function getDateString(dateVal){ var dayString = "00" + dateVal.getDate (); var monthString = "00" + (dateVal.getMonth()+1); dagString = dagString.substring(dagString.lengte - 2); maandString = maandString.substring(maandString.lengte - 2); switch (dateFormat) { case "dmy" : return dayString + dateSeparator + monthString + dateSeparator + dateVal.getFullYear(); case "ymd" : return dateVal.getFullYear() + dateSeparator + monthString + dateSeparator + dayString; case "mdy" : standaard : return monthString + dateSeparator + dayString + dateSeparator + dateVal.getFullYear(); }}/**Converteer een string naar een JavaScript Date-object.*/function getFieldDate(dateString){ var dateVal; var dArray; var d, m, y; probeer {dArray = splitDateString(dateString); if (dArray) { schakelaar (dateFormat) { case "dmy": d = parseInt(dArray[0], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[2], 10); pauze; case "ymd": d = parseInt(dArray[2], 10); m = parseInt(dArray[1], 10) - 1; y = parseInt(dArray[0], 10); pauze; case "mdy": standaard: d = parseInt(dArray[1], 10); m = parseInt(dArray[0], 10) - 1; y = parseInt(dArray[2], 10); pauze; } dateVal = nieuwe Datum(y, m, d); } anders als (dateString) { dateVal = nieuwe datum (dateString); } else { dateVal = nieuwe datum(); } } catch(e) { dateVal = nieuwe Datum(); } return dateVal;}/**Probeer een datumtekenreeks te splitsen in een reeks elementen met behulp van gemeenschappelijke datumscheidingstekens. Als de datum wordt gesplitst, wordt een reeks geretourneerd; anders geven we alleen false terug.*/function splitDateString(dateString){ var dArray; if (dateString.indexOf("/") >= 0) dArray = dateString.split("/"); else if (dateString.indexOf(".") >= 0) dArray = dateString.split("."); else if (dateString.indexOf("-") >= 0) dArray = dateString.split("-"); else if (dateString.indexOf(String.fromCharCode(92)) >= 0) dArray = dateString.split(String.fromCharCode(92)); anders dArray = onwaar; return dArray;}/**Werk het veld met de opgegeven dateFieldName bij met de dateString die is doorgegeven en verberg de datumkiezer. Als er geen dateString wordt doorgegeven, sluit u gewoon de datepicker zonder de veldwaarde te wijzigen. Als de pagina-ontwikkelaar ergens op de pagina of in een geïmporteerde bibliotheek een functie met de naam datePickerClosed heeft gedefinieerd, zullen we proberen die functie uit te voeren met het updatedfield als parameter. Dit kan worden gebruikt voor zaken als datumvalidatie, het instellen van standaardwaarden voor gerelateerde velden, enz. U kunt bijvoorbeeld een functie als deze hebben om een startdatumveld te valideren:functie datePickerClosed(dateField){ var dateObj = getFieldDate(dateField.value) ; var vandaag = nieuwe Datum(); vandaag = nieuwe Datum(vandaag.getFullYear(), vandaag.getMonth(), vandaag.getDate()); if (dateField.name == "StartDate") { if (dateObj < today) { // als de datum vóór vandaag is, waarschuw de gebruiker en toon de datepicker opnieuw alert ("Voer een datum in die vandaag of later is") ; datumVeld.waarde = ""; document.getElementById(datePickerDivID).style.visibility = "zichtbaar"; aanpasseniFrame(); } else { // als de datum in orde is, stelt u het veld EndDate in op 7 dagen na de StartDate dateObj.setTime(dateObj.getTime() + (7 * 24 * 60 * 60 * 1000)); var endDateField = document.getElementsByName ("EndDate").item(0); endDateField.value = getDateString(dateObj); } }}*/function updateDateField(dateFieldName, dateString){ var targetDateField = document.getElementsByName (dateFieldName).item(0); if (dateString) targetDateField.value = dateString; var pickerDiv = document.getElementById(datePickerDivID); pickerDiv.style.visibility = "verborgen"; pickerDiv.style.display = "geen"; aanpasseniFrame(); targetDateField.focus(); // nadat de datumkiezer is gesloten, voert u optioneel een door de gebruiker gedefinieerde functie uit met de naam // datePickerClosed, waarbij u het veld dat zojuist is bijgewerkt doorgeeft als een parameter // (merk op dat dit alleen wordt uitgevoerd als de gebruiker daadwerkelijk een datum uit de datumkiezer heeft geselecteerd) if ((dateString) && (typeof(datePickerClosed) == "function")) datePickerClosed(targetDateField);}/**Gebruik een "iFrame-shim" om problemen op te lossen waarbij de datumkiezer achter selectielijstelementen verschijnt, als ze onder de datumkiezer. Het probleem en de oplossing worden beschreven op: http://dotnetjunkies.com/WebLog/jking/archive/2003/07/21/488.aspxhttp://dotnetjunkies.com/WebLog/jking/archive/2003/10/30/2975 .aspx*/function adjustiFrame(pickerDiv, iFrameDiv){ // we weten dat Opera hier niets aan vindt, dus als we // denken dat we Opera gebruiken, probeer dan niet eens var is_opera = (navigator.userAgent .toLowerCase().indexOf("opera") != -1); als (is_opera) terugkeer; // plaats een try/catch-blok rond het hele ding, voor het geval dat probeer { if (!document.getElementById(iFrameDivID)) { // gebruik innerHTML niet om de body bij te werken, omdat dit globale variabelen kan veroorzaken // dat wijzen momenteel naar objecten op de pagina die slechte referenties hebben //document.body.innerHTML += " |