var map; var progressBar; var extLargeMapControl; var hospitales = new GIcon(); hospitales.image = 'http://www.pisotelia.es/Images/map_extended/hospital.png'; hospitales.shadow = 'markers/shadow.png'; hospitales.shadowSize = new GSize(51,37); hospitales.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; hospitales.iconAnchor = new GPoint(16,37); hospitales.infoWindowAnchor = new GPoint(16,0); hospitales.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var supermercados = new GIcon(); supermercados.image = 'http://www.pisotelia.es/Images/map_extended/supermarket.png'; supermercados.shadow = 'markers/shadow.png'; supermercados.shadowSize = new GSize(51,37); supermercados.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; supermercados.iconAnchor = new GPoint(16,37); supermercados.infoWindowAnchor = new GPoint(16,0); supermercados.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var restaurantes = new GIcon(); restaurantes.image = 'http://www.pisotelia.es/Images/map_extended/restaurant.png'; restaurantes.shadow = 'markers/shadow.png'; restaurantes.shadowSize = new GSize(51,37); restaurantes.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; restaurantes.iconAnchor = new GPoint(16,37); restaurantes.infoWindowAnchor = new GPoint(16,0); restaurantes.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var paradasdeautobus = new GIcon(); paradasdeautobus.image = 'http://www.pisotelia.es/Images/map_extended/bus.png'; paradasdeautobus.shadow = 'markers/shadow.png'; paradasdeautobus.shadowSize = new GSize(51,37); paradasdeautobus.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; paradasdeautobus.iconAnchor = new GPoint(16,37); paradasdeautobus.infoWindowAnchor = new GPoint(16,0); paradasdeautobus.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var estacionesdetren = new GIcon(); estacionesdetren.image = 'http://www.pisotelia.es/Images/map_extended/train.png'; estacionesdetren.shadow = 'markers/shadow.png'; estacionesdetren.shadowSize = new GSize(51,37); estacionesdetren.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; estacionesdetren.iconAnchor = new GPoint(16,37); estacionesdetren.infoWindowAnchor = new GPoint(16,0); estacionesdetren.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var centroscomerciales = new GIcon(); centroscomerciales.image = 'http://www.pisotelia.es/Images/map_extended/shoppingmall.png'; centroscomerciales.shadow = 'markers/shadow.png'; centroscomerciales.shadowSize = new GSize(51,37); centroscomerciales.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; centroscomerciales.iconAnchor = new GPoint(16,37); centroscomerciales.infoWindowAnchor = new GPoint(16,0); centroscomerciales.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var aeropuertos = new GIcon(); aeropuertos.image = 'http://www.pisotelia.es/Images/map_extended/airport.png'; aeropuertos.shadow = 'markers/shadow.png'; aeropuertos.shadowSize = new GSize(51,37); aeropuertos.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; aeropuertos.iconAnchor = new GPoint(16,37); aeropuertos.infoWindowAnchor = new GPoint(16,0); aeropuertos.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var panaderia = new GIcon(); panaderia.image = 'http://www.pisotelia.es/Images/map_extended/bread.png'; panaderia.shadow = 'markers/shadow.png'; panaderia.shadowSize = new GSize(51,37); panaderia.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; panaderia.iconAnchor = new GPoint(16,37); panaderia.infoWindowAnchor = new GPoint(16,0); panaderia.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var cines = new GIcon(); cines.image = 'http://www.pisotelia.es/Images/map_extended/cinema.png'; cines.shadow = 'markers/shadow.png'; cines.shadowSize = new GSize(51,37); cines.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; cines.iconAnchor = new GPoint(16,37); cines.infoWindowAnchor = new GPoint(16,0); cines.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var comidarapida = new GIcon(); comidarapida.image = 'http://www.pisotelia.es/Images/map_extended/convenience.png'; comidarapida.shadow = 'markers/shadow.png'; comidarapida.shadowSize = new GSize(51,37); comidarapida.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; comidarapida.iconAnchor = new GPoint(16,37); comidarapida.infoWindowAnchor = new GPoint(16,0); comidarapida.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var hotel = new GIcon(); hotel.image = 'http://www.pisotelia.es/Images/map_extended/hotel.png'; hotel.shadow = 'markers/shadow.png'; hotel.shadowSize = new GSize(51,37); hotel.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; hotel.iconAnchor = new GPoint(16,37); hotel.infoWindowAnchor = new GPoint(16,0); hotel.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var bibliotecas = new GIcon(); bibliotecas.image = 'http://www.pisotelia.es/Images/map_extended/library.png'; bibliotecas.shadow = 'markers/shadow.png'; bibliotecas.shadowSize = new GSize(51,37); bibliotecas.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; bibliotecas.iconAnchor = new GPoint(16,37); bibliotecas.infoWindowAnchor = new GPoint(16,0); bibliotecas.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var parking = new GIcon(); parking.image = 'http://www.pisotelia.es/Images/map_extended/parking.png'; parking.shadow = 'markers/shadow.png'; parking.shadowSize = new GSize(51,37); parking.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; parking.iconAnchor = new GPoint(16,37); parking.infoWindowAnchor = new GPoint(16,0); parking.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var universidades = new GIcon(); universidades.image = 'http://www.pisotelia.es/Images/map_extended/university.png'; universidades.shadow = 'markers/shadow.png'; universidades.shadowSize = new GSize(51,37); universidades.printShadow = 'http://www.pisotelia.es/Images/map_extended/shadow.png'; universidades.iconAnchor = new GPoint(16,37); universidades.infoWindowAnchor = new GPoint(16,0); universidades.imageMap = [29,0,30,1,31,2,31,3,31,4,31,5,31,6,31,7,31,8,31,9,31,10,31,11,31,12,31,13,31,14,31,15,31,16,31,17,31,18,31,19,31,20,31,21,31,22,31,23,31,24,31,25,31,26,31,27,31,28,31,29,30,30,29,31,23,32,22,33,21,34,20,35,19,36,12,36,11,35,10,34,9,33,8,32,2,31,1,30,0,29,0,28,0,27,0,26,0,25,0,24,0,23,0,22,0,21,0,20,0,19,0,18,0,17,0,16,0,15,0,14,0,13,0,12,0,11,0,10,0,9,0,8,0,7,0,6,0,5,0,4,0,3,0,2,1,1,2,0]; var customIcons = []; customIcons["hospitales"] = hospitales; customIcons["supermercados"] = supermercados; customIcons["restaurantes"] = restaurantes; customIcons["paradasdeautobus"] = paradasdeautobus; customIcons["estacionesdetren"] = estacionesdetren; customIcons["centroscomerciales"] = centroscomerciales; customIcons["aeropuertos"] = aeropuertos; customIcons["panaderia"] = panaderia; customIcons["cines"] = cines; customIcons["comidarapida"] = comidarapida; customIcons["hotel"] = hotel; customIcons["bibliotecas"] = bibliotecas; customIcons["parking"] = parking; customIcons["universidades"] = universidades; var markerGroups = {"hospitales": [],"supermercados": [],"restaurantes": [],"paradasdeautobus": [],"estacionesdetren": [],"centroscomerciales": [],"aeropuertos": [],"panaderia": [],"cines": [],"comidarapida": [],"hotel": [],"bibliotecas": [],"parking": [],"universidades": []}; function initialize(lat, lng, provincia) { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("map_extended")); map.setCenter(new GLatLng(lat, lng), 15); var opts2 = { zoomInBtnTitle : "Aumentar", zoomOutBtnTitle : "Reducir", moveNorthBtnTitle : "Vista panoramica hacia arriba", moveSouthBtnTitle : "Vista panoramica hacia abajo", moveEastBtnTitle : "Vista panoramica a la derecha", moveWestBtnTitle : "Vista panoramica a la izquierda", homeBtnTitle : "Volver al ultimo resultado" }; var extLargeMapControl2 = new ExtLargeMapControl(opts2); map.addControl(extLargeMapControl2); GDownloadUrl("http://www.pisotelia.es/markers/markers_"+provincia+".xml", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address, type); map.addOverlay(marker); } }); var myIcon = new GIcon(); myIcon.image = 'http://www.pisotelia.es/Images/markers/image.png'; myIcon.printImage = 'http://www.pisotelia.es/Images/markers/printImage.gif'; myIcon.mozPrintImage = 'http://www.pisotelia.es/Images/markers/mozPrintImage.gif'; myIcon.iconSize = new GSize(30,41); myIcon.shadow = 'http://www.pisotelia.es/Images/markers/shadow.png'; myIcon.transparent = 'http://www.pisotelia.es/Images/markers/transparent.png'; myIcon.shadowSize = new GSize(51,41); myIcon.printShadow = 'http://www.pisotelia.es/Images/markers/printShadow.gif'; myIcon.iconAnchor = new GPoint(15,41); myIcon.infoWindowAnchor = new GPoint(15,0); myIcon.imageMap = [12,0,13,1,13,2,14,3,14,4,14,5,13,6,24,7,25,8,25,9,26,10,26,11,25,12,25,13,24,14,23,15,24,16,26,17,27,18,29,19,29,20,29,21,28,22,28,23,28,24,27,25,27,26,26,27,26,28,25,29,25,30,25,31,24,32,23,33,22,34,21,35,20,36,19,37,18,38,17,39,16,40,15,40,13,39,12,38,11,37,9,36,8,35,6,34,5,33,4,32,4,31,4,30,3,29,3,28,3,27,2,26,2,25,2,24,1,23,1,22,1,21,1,20,0,19,0,18,0,17,0,16,0,15,0,14,3,13,5,12,6,11,7,10,7,9,7,8,5,7,5,6,4,5,4,4,4,3,4,2,5,1,6,0]; // Set up our GMarkerOptions object markerOptions = { icon:myIcon };drawCircle(map.getCenter(), 0.003, '#FF9601', 10, 0.5);} } function iniciarInmo(lat, lng, proveedor) { if (GBrowserIsCompatible()) { map = new GMap2(document.getElementById("mapInmobiliaria")); map.setCenter(new GLatLng(lat, lng), 13); var opts2 = { zoomInBtnTitle : "Aumentar", zoomOutBtnTitle : "Reducir", moveNorthBtnTitle : "Vista panoramica hacia arriba", moveSouthBtnTitle : "Vista panoramica hacia abajo", moveEastBtnTitle : "Vista panoramica a la derecha", moveWestBtnTitle : "Vista panoramica a la izquierda", homeBtnTitle : "Volver al ultimo resultado" }; var extLargeMapControl2 = new ExtLargeMapControl(opts2); map.addControl(extLargeMapControl2); /* GDownloadUrl("http://www.pisotelia.es/markers/markers_"+provincia+".xml", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address, type); map.addOverlay(marker); } }); */ var myIcon = new GIcon(); myIcon.image = 'http://www.pisotelia.es/Images/markers/home_ciudad.png'; myIcon.printImage = 'http://www.pisotelia.es/Images/markers/printCiudad.gif'; myIcon.mozPrintImage = 'http://www.pisotelia.es/Images/markers/mozPrintImageCiudad.gif'; myIcon.iconSize = new GSize(32,31); myIcon.shadow = 'http://www.pisotelia.es/Images/markers/home_shadow.png'; myIcon.transparent = 'http://www.pisotelia.es/Images/markers/transparent.png'; myIcon.shadowSize = new GSize(48,31); myIcon.printShadow = 'http://www.pisotelia.es/Images/markers/printShadowCiudad.gif'; myIcon.iconAnchor = new GPoint(16,35); myIcon.infoWindowAnchor = new GPoint(16,0); myIcon.imageMap = [16,0,17,1,18,2,27,3,27,4,27,5,27,6,27,7,27,8,27,9,28,10,30,11,31,12,31,13,31,14,31,15,31,16,27,17,27,18,27,19,27,20,27,21,27,22,27,23,27,24,27,25,30,26,31,27,31,28,30,29,26,30,21,31,20,32,18,33,17,34,15,34,14,33,12,32,11,31,4,30,1,29,0,28,0,27,1,26,4,25,4,24,4,23,4,22,4,21,4,20,4,19,4,18,4,17,0,16,0,15,0,14,0,13,0,12,1,11,3,10,4,9,5,8,6,7,8,6,9,5,10,4,11,3,13,2,14,1,15,0]; // Set up our GMarkerOptions object markerOptions = { icon:myIcon }; var point = new GPoint(lng, lat); var marker = new GMarker(point, markerOptions); map.addOverlay(marker); } } function createMarker(point, name, address, type) { var marker = new GMarker(point, customIcons[type]); markerGroups[type].push(marker); var html = "" + name + "
" + address; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; } function toggleGroup(type) { for (var i = 0; i < markerGroups[type].length; i++) { var marker = markerGroups[type][i]; if (marker.isHidden()) { marker.show(); } else{ marker.hide(); } } } function drawCircle(center, radius, color, thickness, opacity) { //Function created by Chris Haas var circleQuality = 1; //1 is best but more points, 5 looks pretty good, too var M = Math.PI / 180; //Create Radian conversion constant var L = map.getBounds(); //Holds copy of map bounds for use below var sw = L.getSouthWest(); var ne = L.getNorthEast(); //The map is not completely square so this calculates the lat/lon ratio // this works because we create a square map var circleSquish = (ne.lng() - sw.lng()) / (ne.lat() - sw.lat()); var points = []; //Init Point Array //Loop through all degrees from 0 to 360 for(var i=0; i<360; i+=circleQuality){ var P = new GLatLng( center.lat() + (radius * Math.sin(i * M)), center.lng() + (radius * Math.cos(i * M)) * circleSquish ); points.push(P); } points.push(points[0]); // close the circle var p = new GPolyline(points, color, thickness, opacity) map.addOverlay(p); }