function loadlist(cityname,list) { var map = new GMap2(document.getElementById('map')); map.addControl(new GLargeMapControl()); var poly = file('/app/loader.php?CITY='+cityname); Acv = poly[0].split(','); Glat = Acv[3]; Glong = Acv[4]; map.setCenter(new GLatLng(Glat, Glong), 10);function createPolygon(name,points,level,glat,glong,title,count) { var marker = new GMarker(new GLatLng(glat,glong)); if (count == 0) { var tooltip = new Tooltip(marker,title,4,''); } else { var tooltip = new Tooltip(marker,title+' ('+count+' Homes)',4,''); } marker.tooltip = tooltip; map.addOverlay(tooltip); if (name == cityname) { var encodedPolygon = new GPolygon.fromEncoded({ polylines: [{ points: points, levels: level, color: '#97281D', opacity: .8, weight: 1}], fill: true, color: '#03710D', opacity: 0.6, outline: true }); } else { var encodedPolygon = new GPolygon.fromEncoded({ polylines: [{ points: points, levels: level, color: '#0033FF', opacity: 0, weight: 0}], fill: true, color: '#0033FF', opacity: 0, outline: true }); GEvent.addListener(encodedPolygon,'mouseover', function() { encodedPolygon.setFillStyle({opacity: .8, color: '#03710D'}); marker.tooltip.show(); }); GEvent.addListener(encodedPolygon,'mouseout', function() { encodedPolygon.setFillStyle({opacity: 0, color: '#0033FF'}); marker.tooltip.hide(); }); if (name != 'BLANK') { GEvent.addListener(encodedPolygon,'click', function() { pass('p_city',name); }); } } return encodedPolygon; } function createMarker(point,price,mls) { var polygon = new GPolygon.fromEncoded({polylines: [{ points: 'a{x|C~oihN{@ir@SsIbo@y@b`@Sjz@U~f@e@n\GvfAa@zJ?ngAfTni@`IjH`B~u@dVf@Rvo@mqBzOod@nTgh@~AUjAxcArXTfp@ueAdH{KfGrBhz@xg@vVlDtHdJzLnMfQpe@eRvXsKxEsF}ByGeSsMo@bRr]hHzF{N`PgIdJdFhGmVxYzD?kMfOcGrNs@v^fBpEkBdDjFppArZ~gAeLfLd@tGwLxJgT}\eJ~Hf^xwAuIfkA~CpNtDzuAa_D|ES_E?cAsI??bGnF??vQ~MrDbV??fJz@dc@Sz@z@jRS|ERxJ?lMz@dkAf@vVRzTRpPRnK?~Wf@lURtNz@zc@?~Mz@vGcBd@SuGo_@aNcLmUg@cB_DgJg@yBce@oFrDoAzYToA_DoPkf@sb@cmAvGye@Ae@qIce@gEyBg@aBg@wBwG{@gJkM_g@_b@oF{JSkHRsXoAiaASq]S_D?mHSyE_l@z@cQRsD?kRR?`e@z@j_AbGS?bGwB`DcLSoA?S{@kCuIwBqDsDal@zO??}W_@uXkG?Sgr@SqX_D?s]RcVRoUz@cVRSwTqJFItAsIaB{m@`B?oASuLSod@Sco@gm@nAwBgOSqU?}Mg@iY_Sd@oK?oA}WzEk\z@}@vBH?cPcG?_DXkHJCwHc@mYS}J?cGg@e^', levels: 'P@HH@AA?@HCEB?JBEDIIG@ICEFALGEGEFHDH?EFEEDHDDDFHEDGFHGFDJF@EIEEGDHABBCBAABA?@BD??BCMDEFC?AGHDH@AGFAHD?DDDDHBBAAAAIA?@IBEEGE?J?BEFGAFE@I?@BBFGDDDI?A?HHD@AGAGEECEGAAG@?AAP'}]}); var Icon = new GIcon(); Icon.image = '/map_ajax/icon.png'; Icon.iconSize = new GSize(16, 16); Icon.iconAnchor = new GPoint(8, 8); Icon.infoWindowAnchor = new GPoint(5, 1); Blue = { icon:Icon }; var Icongray = new GIcon(); Icongray.image = '/map_ajax/icongray.png'; Icongray.iconSize = new GSize(16, 16); Icongray.iconAnchor = new GPoint(8, 16); Icongray.infoWindowAnchor = new GPoint(5, 1); Gray = { icon:Icongray }; var inPoly = ifBound(polygon,point); var marker = new GMarker(point,Blue); var tooltip = new Tooltip(marker,'$'+price,1,mls); marker.tooltip = tooltip; map.addOverlay(tooltip); GEvent.addListener(marker, 'mouseover', function() {marker.setImage('/map_ajax/iconblue.png'); marker.tooltip.show(); }); GEvent.addListener(marker, 'mouseout', function() {marker.setImage('/map_ajax/icon.png'); marker.tooltip.hide(); }); map.addOverlay(marker); } marker_list = list.split('|'); for (var i = 0; i < marker_list.length-1; i++) { c = marker_list[i].split('+'); var latlng = new GLatLng(c[0],c[1]); createMarker(latlng,c[3],c[6]); } function ifBound (polygon, latLng){ var bounds = polygon.getBounds(); if(bounds != null && !bounds.containsLatLng(latLng)) { return false; } var numPoints = polygon.getVertexCount(); var inPoly = false; var i; var j = numPoints-1; for(var i=0; i < numPoints; i++) { var vertex1 = polygon.getVertex(i); var vertex2 = polygon.getVertex(j); if (vertex1.lng() < latLng.lng() && vertex2.lng() >= latLng.lng() || vertex2.lng() < latLng.lng() && vertex1.lng() >= latLng.lng()) { if (vertex1.lat() + (latLng.lng() - vertex1.lng()) / (vertex2.lng() - vertex1.lng()) * (vertex2.lat() - vertex1.lat()) < latLng.lat()) { inPoly = !inPoly; } } j = i; } return inPoly; }; }