Location and Hours

The Campus Bookstore is located in Clark Hall on Queen's University Main Campus in Kingston, Ontario, Canada.

We are open regular hours from 9am to 6pm Monday to Friday, and, 10am to 5pm on Saturday. Special hours during holidays may be in effect. Check the bottom of this webpage for any special holiday hours. We are also open 24 hour-a-day at http://www.campusbookstore.com.

Driving Directions

 

  • From Highway 401, go south at the "Sir John A. MacDonald Blvd." exit.
  • Follow "Sir John A. MacDonald Blvd." south to "Union Street". Go east on "Union Street".
  • Follow "Union Street" to Queen's Campus. The Campus Bookstore is located on an unnamed street between "University Avenue" and "Arch Street". Follow this street until you see "Clark Hall" on the right side of the road.

 

Error executing template "Designs/Campus/ItemPublisher/List/googleMapsContacts.cshtml"
System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
   at System.ThrowHelper.ThrowKeyNotFoundException()
   at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
   at CompiledRazorTemplates.Dynamic.RazorEngine_5d2518cba3a943d9a1bb6effebb27392.Execute() in f:\Domains\Sites\dev-campus.mydwsitec.com\Files\Templates\Designs\Campus\ItemPublisher\List\googleMapsContacts.cshtml:line 38
   at RazorEngine.Templating.TemplateBase.RazorEngine.Templating.ITemplate.Run(ExecuteContext context, TextWriter reader)
   at RazorEngine.Templating.RazorEngineService.RunCompile(ITemplateKey key, TextWriter writer, Type modelType, Object model, DynamicViewBag viewBag)
   at RazorEngine.Templating.RazorEngineServiceExtensions.<>c__DisplayClass16_0.b__0(TextWriter writer)
   at RazorEngine.Templating.RazorEngineServiceExtensions.WithWriter(Action`1 withWriter)
   at Dynamicweb.Rendering.Template.RenderRazorTemplate()

1 @{ 2 var areaItem = Pageview.Area.Item; 3 4 List<LoopItem> lst_points = GetLoop("ItemPublisher:Items.List"); 5 6 int num_index = 0; 7 string str_noImage = areaItem["NoImage"].ToString(); 8 string str_companyFolder = str_noImage.Substring(0, str_noImage.IndexOf("/")); 9 } 10 <div class="googleMapsContainer"> 11 <div id="gmap">&nbsp;</div> 12 </div> 13 14 <ul class="markerTexts hidden"> 15 @foreach(var item in lst_points){ 16 <li class='markerText_@num_index'>@item.GetString("ItemPublisher:Item.PointDescription")</li> 17 num_index++; 18 } 19 </ul> 20 21 @{ 22 num_index = 0; 23 var str_locations = areaItem["DefaultCoordinates"].ToString().Replace("{", "").Replace("}", "").Split(','); 24 Dictionary<string, string> dict_coordinates = new Dictionary<string, string>(); 25 26 foreach(string s in str_locations){ 27 string str_key = s.Substring(1, s.IndexOf(':') - 2); 28 string str_value = s.Substring(s.IndexOf(':')+1); 29 30 dict_coordinates.Add(str_key, str_value); 31 } 32 } 33 34 35 @SnippetStart("jsVariables") 36 var obj_mapSettings = { 37 template_path:'@GetGlobalValue("Global:Request.Scheme")://@GetGlobalValue("Global:Request.Host")/Files/Templates/Designs/@str_companyFolder/', 38 google_initLatLng:'@dict_coordinates["Lat"].ToString(),@dict_coordinates["Lng"].ToString()', 39 google_zoom:@areaItem["DefaultGeoZoom"].ToString(), 40 google_mapId:'gmap', 41 google_fitBounds:true, 42 google_filter:'all', 43 google_markers:[], 44 google_type:[], 45 google_labels:{} 46 }; 47 @foreach(var item in lst_points){ 48 string str_pointType = item.GetString("ItemPublisher:Item.PointType"); 49 <text> 50 obj_mapSettings.google_type['@str_pointType'] = { 51 type_markers:[], 52 @switch(str_pointType){ 53 default: 54 @:type_name:'@areaItem["CompanyName"]' 55 break; 56 } 57 }; 58 </text> 59 } 60 @SnippetEnd("jsVariables") 61 62 @SnippetStart("jsOnLoadVariables") 63 @foreach(var item in lst_points){ 64 string str_pointType = item.GetString("ItemPublisher:Item.PointType"); 65 <text> 66 obj_mapSettings.google_type['@str_pointType'].type_markers.push({ 67 marker_title:'@item.GetString("ItemPublisher:Item.PointName")', 68 marker_latlng:'@item.GetString("ItemPublisher:Item.PointLocation.Lat"),@item.GetString("ItemPublisher:Item.PointLocation.Lng")', 69 @if(str_pointType == "company"){ 70 @:defaultMarker: true, 71 } 72 marker_icon:{ 73 image:'http://@GetGlobalValue("Global:Request.Host")/Files/Templates/Designs/Campus/images/@(str_pointType).png', 74 width:30, height:50, 75 originX:0, originY:0, 76 anchorX:15, anchorY:50 77 }, 78 @if(item.GetString("ItemPublisher:Item.PointImage") != ""){ 79 @:marker_image:'/admin/public/getimage.ashx?Image=@item.GetString("ItemPublisher:Item.PointImage")&amp;altFmImage_path=@str_noImage&amp;Width=280&amp;Height=100&amp;Crop=0', 80 } 81 marker_infoText:$('.markerTexts').find('li.markerText_@num_index').html() 82 }); 83 </text> 84 num_index++; 85 } 86 @SnippetEnd("jsOnLoadVariables") 87 88 @SnippetStart("jsOnLoad") 89 onLoadGoogleMaps(obj_mapSettings); 90 @SnippetEnd("jsOnLoad") 91 92 <script type="text/javascript" src='https://maps.google.com/maps/api/js?sensor=false&amp;amp;language=@GetGlobalValue("Global:Area.Lang")'></script>