var debug = false; var calledURL = window.location.href; if (debug) GLog.write('URL detected by JS: '+calledURL); var lang; var region; var map; var layers = []; var cluster; var gmarkers = []; // Array: All markers within current scope var cmarkers = []; // Array: Only clustered markers var myterms = ''; // Create the [icon] marker template var icon = new GIcon(); icon.infoWindowAnchor = new GPoint(10,10); function toggleLayer(layer) { if (layers[layer].Visible) { layers[layer].hide(); } else { if(layers[layer].Added) { layers[layer].show(); } else { map.addOverlay(layers[layer]); layers[layer].Added = true; } } layers[layer].Visible = !layers[layer].Visible; } // Load the map, with initial markers function loadMap(phut, lat, lon, zoom, mycat, myid) { if (GBrowserIsCompatible()) { lang = phut; // Set up the base map map = new GMap2(document.getElementById("map")); document.getElementById("map").style.backgroundImage = "url(images/loading.jpg)"; map.setCenter(new GLatLng(lat, lon), zoom); map.addControl(new GMenuMapTypeControl()); map.addControl(new GLargeMapControl()); map.addControl(new GScaleControl()); // map.addControl(new MStatusControl()); var mini=new GOverviewMapControl(); map.addControl(mini); layers['pano'] = new GLayer("com.panoramio.all"); layers['pano'].Visible = false; layers['pano'].Added = false; if (lang == 'en') { layers['wiki'] = new GLayer("org.wikipedia.en"); } if (lang == 'th') { layers['wiki'] = new GLayer("org.wikipedia.th"); } layers['wiki'].Visible = false; layers['wiki'].Added = false; G_NORMAL_MAP.getMinimumResolution = function () { return 10 }; G_SATELLITE_MAP.getMinimumResolution = function () { return 10 }; G_HYBRID_MAP.getMinimumResolution = function () { return 10 }; G_NORMAL_MAP.getMaximumResolution = function () { return 17 }; G_SATELLITE_MAP.getMaximumResolution = function () { return 18 }; G_HYBRID_MAP.getMaximumResolution = function () { return 17 }; var searchList = 'Search Results'; searchResults = new BpControl(searchList, new GSize(80,10), G_ANCHOR_TOP_LEFT, 'searchResults'); map.addControl(searchResults); // Load the markers into the [gmarkers] array region = 1 var marker = createMarker(400, 7.847993, 98.292682, 2, 'Attractions', 'names/en/a776262622fbe06815e4580459840041.png', 91, 16) var marker = createMarker(120, 7.819847, 98.297682, 6, 'Topography', 'names/en/538f7f561ed7244f283d00ae9d617db9.png', 82, 16) var marker = createMarker(121, 7.80671, 98.29854, 6, 'Topography', 'names/en/eb249d1770f1bf0f00b38a887a5831b0.png', 104, 16) var marker = createMarker(124, 7.776138, 98.305149, 6, 'Topography', 'names/en/f69c346875c9d11eacd1c7134017559e.png', 105, 16) var marker = createMarker(126, 7.89943, 98.296137, 6, 'Topography', 'names/en/b3958cbc30418147cce396701cc08e06.png', 96, 16) var marker = createMarker(127, 7.772694, 98.323088, 6, 'Topography', 'names/en/7fec0035b2f05f2649310b9e8033c647.png', 91, 16) var marker = createMarker(129, 7.779755, 98.3288, 2, 'Attractions', 'names/en/9847d295ae12b1ee3053be22956a345b.png', 157, 16) var marker = createMarker(130, 7.953983, 98.28803, 5, 'Entertainment', 'names/en/5a819a2dca9c8b8f0cf3968b57590a41.png', 113, 16) var marker = createMarker(131, 7.796907, 98.30254, 2, 'Attractions', 'names/en/7936aeb57324f4bf284fe05d39b11f13.png', 101, 16) var marker = createMarker(133, 7.770608, 98.3064, 2, 'Attractions', 'names/en/f3410341887ab546b767040959c6902b.png', 167, 16) var marker = createMarker(134, 7.884357, 98.286, 2, 'Attractions', 'names/en/09dcc05fb7809433baed3784d7acf27c.png', 124, 16) var marker = createMarker(135, 8.041744, 98.394005, 6, 'Topography', 'names/en/b0e7c12373261d0ea250e849e7ba6864.png', 125, 16) var marker = createMarker(136, 7.843182, 98.35803, 2, 'Attractions', 'names/en/53fa00b9eccb8553015dc7587f04237c.png', 82, 16) var marker = createMarker(137, 7.801915, 98.33581, 4, 'Education', 'names/en/cf8c0fd7de46ac243969c8c098d75810.png', 169, 16) var marker = createMarker(139, 7.77027, 98.31837, 7, 'Government', 'names/en/d47c62cd3a8352ea0511bb35d4869bbe.png', 121, 16) var marker = createMarker(145, 7.959085, 98.38535, 9, 'Marine', 'names/en/5a01330d439a815175f6d00288a59e5f.png', 89, 16) var marker = createMarker(146, 7.9607, 98.38878, 9, 'Marine', 'names/en/0a11b97b6da81d2d2fdbb309ad3c944b.png', 133, 16) var marker = createMarker(148, 7.775705, 98.32761, 9, 'Marine', 'names/en/ac565bbe09e2f1cec4b93f2dd8dee7a0.png', 79, 16) var marker = createMarker(366, 7.91962, 98.37491, 3, 'Business', 'names/en/b3fde88e844cbf5e84638e18538efdb9.png', 85, 16) var marker = createMarker(179, 7.985198, 98.2944, 10, 'Property', 'names/en/ebb5ca313d34b0257ddd68da6f98cb23.png', 116, 16) var marker = createMarker(415, 7.82292, 98.34165, 3, 'Business', 'names/en/9454bd4765b8da5d5a537a2d2ed79873.png', 90, 16) var marker = createMarker(192, 7.981442, 98.2809, 10, 'Property', 'names/en/9b6306815e4263e9655ad96503eb7649.png', 77, 16) var marker = createMarker(220, 7.843335, 98.29431, 11, 'Religious', 'names/en/527c2668b4ab469fba596291ef5d5e89.png', 95, 16) var marker = createMarker(221, 7.777701, 98.306372, 11, 'Religious', 'names/en/76862faf0500d2b2577b3c27fb494d8d.png', 110, 16) var marker = createMarker(225, 7.892868, 98.29831, 13, 'Shopping', 'names/en/fb0b93dc56dbdf7a3464f5e9cb77c886.png', 107, 16) var marker = createMarker(233, 7.891802, 98.36681, 13, 'Shopping', 'names/en/08672f396816ad741b210296a39a6b5a.png', 130, 16) var marker = createMarker(234, 7.895668, 98.368417, 13, 'Shopping', 'names/en/bd8d907d4adb192d6bb57bfe4ee04878.png', 123, 16) var marker = createMarker(235, 7.898017, 98.368149, 8, 'Medical', 'names/en/6f734e7e739287728065a0befe6551bf.png', 176, 16) var marker = createMarker(236, 7.89925, 98.36802, 13, 'Shopping', 'names/en/f8c7f8b89dcf0d66f12c3ed1931d2063.png', 111, 16) var marker = createMarker(237, 7.907717, 98.36256, 4, 'Education', 'names/en/9b76190333f600ef02f858ccd35336d5.png', 152, 16) var marker = createMarker(239, 7.93499, 98.34068, 10, 'Property', 'names/en/f170c1f3271167b88d4a6acc58219d13.png', 91, 16) var marker = createMarker(242, 7.927402, 98.34018, 14, 'Sport & Leisure', 'names/en/420dc5ee9b69f3e76048e602118c04c8.png', 133, 16) var marker = createMarker(243, 7.923222, 98.34858, 14, 'Sport & Leisure', 'names/en/ed57c8b0648debe17ab7b643ff654bd0.png', 150, 16) var marker = createMarker(245, 7.93234, 98.32294, 6, 'Topography', 'names/en/f549e0850b8dd6d49d0d1eb200f97cfa.png', 104, 16) var marker = createMarker(246, 7.92662, 98.32906, 14, 'Sport & Leisure', 'names/en/a0dc1646498b853bf01e0e1572d78533.png', 114, 16) var marker = createMarker(247, 7.906058, 98.32853, 14, 'Sport & Leisure', 'names/en/197fb10ed0b266a7bd0edf8ec4299453.png', 122, 16) var marker = createMarker(248, 7.892715, 98.34431, 14, 'Sport & Leisure', 'names/en/d2995685a40e054632ea3a3ac893a612.png', 132, 16) var marker = createMarker(249, 7.89267, 98.3393, 7, 'Government', 'names/en/00483c512406cb646847f5e2450fc7f6.png', 125, 16) var marker = createMarker(250, 7.888907, 98.33969, 2, 'Attractions', 'names/en/6d38bc6df7d1d22be0c3580f554d2bf3.png', 131, 16) var marker = createMarker(251, 7.899682, 98.34605, 14, 'Sport & Leisure', 'names/en/2308e41029639c67e9901987ba68b388.png', 126, 16) var marker = createMarker(254, 7.898058, 98.35099, 4, 'Education', 'names/en/e4f1701242e0596ef3fae3707d1a3eec.png', 172, 16) var marker = createMarker(352, 7.860925, 98.35296, 3, 'Business', 'names/en/7acd87858bbd7ca2ca722cb722bbd66b.png', 103, 16) var marker = createMarker(353, 7.8473, 98.30177, 10, 'Property', 'names/en/8eeb7bbc3ecdd32810c8e5777e532410.png', 122, 16) var marker = createMarker(356, 7.87965, 98.29232, 10, 'Property', 'names/en/2414ec2a954cb3217b4677048c2a850a.png', 122, 16) var marker = createMarker(357, 7.87839, 98.29333, 10, 'Property', 'names/en/4f192f83efc05e73a44001da08428fc9.png', 158, 16) var marker = createMarker(360, 7.90694, 98.30854, 10, 'Property', 'names/en/5d807f0432913b8a9ee92a1c68886077.png', 119, 16) var marker = createMarker(362, 7.89902, 98.29691, 5, 'Entertainment', 'names/en/d5b2e74e2441a28f5c5549938b834e1c.png', 68, 16) var marker = createMarker(409, 7.88537, 98.393158, 5, 'Entertainment', 'names/en/d8dc5e15fc9acea7db4b9c38af4fb1df.png', 84, 16) var marker = createMarker(367, 7.897735, 98.347432, 10, 'Property', 'names/en/e62fceb1c96c36d77fcff18bceeb0ef1.png', 117, 16) var marker = createMarker(377, 7.904074, 98.377408, 8, 'Medical', 'names/en/a80cb8f41fcbf7acfc29891bcb1b6fc7.png', 137, 16) var marker = createMarker(397, 7.834303, 98.3377, 2, 'Attractions', 'names/en/5528726708613e297c5c4fb30df3da6b.png', 84, 16) var marker = createMarker(379, 7.896837, 98.383974, 8, 'Medical', 'names/en/21a2fe8537e9ed4046c169a560ec9cc2.png', 110, 16) var marker = createMarker(386, 7.90448, 98.36786, 13, 'Shopping', 'names/en/a96cab17848497ada02df03d65fa5c62.png', 84, 16) var marker = createMarker(387, 7.79604, 98.31872, 3, 'Business', 'names/en/b0a5357297fe753b11db6c37325a004d.png', 95, 16) var marker = createMarker(388, 7.8602, 98.38029, 3, 'Business', 'names/en/bb16fdae1a029c385ee8b0feed0e7f1e.png', 155, 16) var marker = createMarker(390, 7.94934, 98.28648, 12, 'Services', 'names/en/ba7d376cc69e733fbe9c1b91c8d72990.png', 117, 16) var marker = createMarker(391, 7.97764, 98.27825, 5, 'Entertainment', 'names/en/109c8939f6273f74661a4e24dea8b7cb.png', 119, 16) var marker = createMarker(392, 7.97748, 98.28065, 1, 'Accommodation', 'names/en/c0559a0f9f1f6429e61305302766ff54.png', 120, 16) var marker = createMarker(393, 7.890142, 98.389639, 3, 'Business', 'names/en/d58525e3322b35b5c6357f086fc96c58.png', 87, 16) var marker = createMarker(394, 7.842019, 98.302381, 1, 'Accommodation', 'names/en/1e28e141e15fc60ce2cb1734f0a79951.png', 151, 16) var marker = createMarker(395, 7.815521, 98.304859, 1, 'Accommodation', 'names/en/531b172ff0cac71e92e11d18a4726026.png', 122, 16) var marker = createMarker(396, 7.903681, 98.377783, 8, 'Medical', 'names/en/8a75af36a7ce8f6ced6212ff70fa04ed.png', 93, 16) var marker = createMarker(398, 7.87022, 98.35872, 3, 'Business', 'names/en/43559c1383fd7c75b720fe977a7f70cd.png', 106, 16) var marker = createMarker(399, 7.96423, 98.38753, 2, 'Attractions', 'names/en/6e4aeb7d68da1a76333eb2964ee3ebff.png', 145, 16) var marker = createMarker(401, 7.883075, 98.386849, 13, 'Shopping', 'names/en/097a39b6337a6c53001f953db58f0d90.png', 98, 16) var marker = createMarker(402, 7.885392, 98.389317, 3, 'Business', 'names/en/c59329921d9ca4d7cf31f116b32c49c2.png', 111, 16) var marker = createMarker(403, 7.907358, 98.296802, 5, 'Entertainment', 'names/en/460f4923c21b504b91dca02baa680f21.png', 93, 16) var marker = createMarker(404, 7.907815, 98.296577, 5, 'Entertainment', 'names/en/95ab34be1e2b6d34651309da206d8d8d.png', 86, 16) var marker = createMarker(405, 7.907592, 98.29677, 5, 'Entertainment', 'names/en/3a006057762f6ebc2c5e5baf40694bb5.png', 112, 16) var marker = createMarker(406, 7.86997, 98.35835, 13, 'Shopping', 'names/en/e952ca005884ea47b4bf331eb7681d60.png', 98, 16) var marker = createMarker(407, 7.912108, 98.294764, 5, 'Entertainment', 'names/en/22d9e1a02ae4532a350a69b1da55981e.png', 76, 16) var marker = createMarker(408, 7.799737, 98.336112, 10, 'Property', 'names/en/083be5ebbf010a417a7ffa8e98d7bdc5.png', 128, 16) var marker = createMarker(410, 7.82062, 98.34279, 5, 'Entertainment', 'names/en/32693af73e77074b00872154b44da274.png', 65, 16) var marker = createMarker(412, 7.900918, 98.353268, 3, 'Business', 'names/en/83c79c3a0590aa35b92630e891681adb.png', 165, 16) var marker = createMarker(413, 7.99918, 98.34913, 3, 'Business', 'names/en/75ed0445e5539bd1dbb9ae262c7729f0.png', 108, 16) var marker = createMarker(414, 7.77869, 98.325706, 10, 'Property', 'names/en/787650240b4a219465acc40bb87fc251.png', 106, 16) var marker = createMarker(416, 7.973568, 98.278681, 5, 'Entertainment', 'names/en/a2039f2a1c7fc8d0196f4e74d063c1bd.png', 80, 16) var marker = createMarker(417, 7.84914, 98.29486, 5, 'Entertainment', 'names/en/b0f4f523ea342ccf19e194b246b3c9f3.png', 114, 16) var marker = createMarker(418, 7.82781, 98.29628, 5, 'Entertainment', 'names/en/4372ac44ffdcab91fb501de502244cca.png', 147, 16) var marker = createMarker(419, 7.814469, 98.299688, 5, 'Entertainment', 'names/en/df30f3be2528ea249f8de2d34c8d3194.png', 107, 16) var marker = createMarker(420, 7.92082, 98.37085, 3, 'Business', 'names/en/14e49eeeef4105dd5be050c50872d4d0.png', 97, 16) var marker = createMarker(421, 7.848874, 98.294785, 3, 'Business', 'names/en/b53eb55dcb788b483b098c3c0a390113.png', 109, 16) var marker = createMarker(422, 8.167433, 98.338654, 9, 'Marine', 'names/en/4c651b07ccd98ad8a03c836c4afeeb39.png', 68, 16) var marker = createMarker(423, 8.056404, 98.314784, 3, 'Business', 'names/en/a75c92c69745b220048e1c5badab77c8.png', 85, 16) var marker = createMarker(424, 7.98429, 98.30143, 14, 'Sport & Leisure', 'names/en/934054f258e7deb666780ca3ca62633b.png', 144, 16) var marker = createMarker(425, 7.96463, 98.38725, 14, 'Sport & Leisure', 'names/en/3ff7154838a505c98953308dbb1b56c2.png', 96, 16) var marker = createMarker(426, 7.890854, 98.365681, 14, 'Sport & Leisure', 'names/en/4eae53db133f9dca854e448eae034629.png', 93, 16) var marker = createMarker(427, 7.889653, 98.366808, 5, 'Entertainment', 'names/en/19e04710e377096edde94d11b93ced8f.png', 72, 16) // Create the [cicon] cluster icon template var cicon = new GIcon(); cicon.image = 'markers/cluster.png'; cicon.shadow = "markers/cluster-shadow.png"; cicon.iconSize = new GSize(24.0, 25.0); cicon.shadowSize = new GSize(37.0, 25.0); cicon.iconAnchor = new GPoint(10, 10); cicon.infoWindowAnchor = new GPoint(10, 10); // Set up clustering cluster = new ClusterMarker(map, { markers: cmarkers, clusterMarkerIcon: cicon, clusterMarkerClick: myClusterClick, borderPadding: 1, intersectPadding: 3 }); // Show all categories for (var i=1; i<16; i++) { show(i); } if (mycat) { var mycatvis = document.getElementById('box'+mycat).checked; if (debug) { GLog.write('PID\'s category: '+mycat); GLog.write('Category '+mycat+' status: '+mycatvis); } if (mycatvis == false) { show(mycat); if (debug) GLog.write('Showing category '+mycat); } } // cluster.fitMapToMarkers(); // restore this when only markers for the region are loaded cluster.refresh(true); map.savePosition(); // Add cluster icon event listeners GEvent.addListener(cluster, 'clustermouseover', function($markers) {clusterTon($markers);}); GEvent.addListener(cluster, 'clustermouseout', function() {clusterToff();}); if (myid) {openPopup(myid);} // check for URL search terms and inject them if (calledURL.indexOf('terms') > -1) { var terms = URLparams('terms'); if (debug) GLog.write('Search injection: '+terms); searchme(terms); } if (lat == 0) { errorMsg = '