| Issue 1119: | Major Bug Introduced in 2.149 - Polygons with cut-outs invert at higher zoom levels | |
| 1 person starred this issue and may be notified of changes. | Back to list |
Sign in to add a comment
|
A crippling bug seems to have been introduced in 2.149 which has broken my website. The bug does not appear in you use 2.148 or just "2" as the version number. A polygon with a cut-out appears to invert so that the cut-out is filled and the main polygon area isn't, but only when you zoom in past a certain point. Before that point, it looks normal. Here is an online demo of the bug: http://myplace.walthamforest.gov.uk/dev/bug/polygon-fills.htm Try zooming in and out to see the problem. What steps will reproduce the problem? Please provide a link to a demonstration page if at all possible, or attach code. Recreate this page and test in version 2.x: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> <title>Google Maps Polygon Fill Bug</title> <script type="text/javascript" src="http://www.google.co.uk/jsapi?key=YOUR_API_KEY"></script> <script type="text/javascript"> google.load('maps', '2.148'); function initialize() { var map = new GMap2(document.getElementById('map')); map.addControl(new GLargeMapControl()); map.addControl(new GMapTypeControl()); map.addControl(new GScaleControl()); map.addControl(new GOverviewMapControl()); map.setCenter(new GLatLng(51.5945922134, -0.0112397488), 15); var marker = new GMarker(new GLatLng(51.5945922134, -0.0112397488)); var londonBoundaryPoints = 'kyfyHqah@gZk@_DsGsTaEmJqJwGof@nAoSwKab@__@|S_L@Swi@{Fes@cK^qDhGoN|@qCeEo`@xVrDak@wKMsChU{BL_OwLhCwReHwE_HdC_DkN{FOj@qK|`AkREcu@s@qEqT}AmIiNoFIcBpGsk@FyRqiE}Mn@sA{SeCk@sI{~Bs@yw@lC_D{BkOkJZqTjNg@tMi]~F}KrOd@lQwFP}FlTwGp@sFhS{o@lLnHbmCmi@zS{KAmE~Jg`@xVaz@x|@eg@pKaKiEeMzAyAjl@yJlu@uQqXgIwAyCe\\gEaHcx@|hAgh@j_B_o@tqA`IpKtRj|@`AxWvGbZ|@tU{Cra@tFr`@wDjEUzMfF\\eHx[xGrEvQleAmEjTeD`w@u@pqBLrOvKrf@pWd^`KtYh@fGuHzJnQdk@xGfc@uDrApChSyObLnJbc@nP}N~NnQ~KyA~FhTlA`JsIbMeD|d@nL~g@_Mt{@{]~|@wHnWfA`B_Ju@aGsHe@{UsEkCuD`GnNblAix@|gAgVll@B@iDkBcFqHiAFgGaBqL{GaDpCiBv@iB?aDmAOXy@bJMTyNZcDn@hCdPXzHBxEa@lIc@pEg@|AuBdXAxFk@vNXfQSDAxGWvDWv@aBbBkFrCU]GvARnChDxNaDnBn@dHClCk@vHyDC@^}CaBm@?ARcC{B{@fGGhBFzDh@f@_@hDb@rCAj@hh@tEch@uEyj@kBek@kPuU~NuoAaFcXhD_LhbEgG~h@~F`p@Cd^gD~Yu^`nAqEv]]|bA_JvcAlSfaBWvuA|RdyAcOntAtb@Vfy@jv@pAj[rB{@xTr`@pCrb@fVdTkGda@qPgJR~XgKjDFvTnM_FgC|TxJzL_EvJvB`G~X}QbHlXeEhGdMv`@kCfBnSfg@h@tC}OlMtHz[oAhQ|G`PlLdu@gCjQjDbAxAaGfm@rK~QpL~LxUgB~NuMlQrEzC`@nZvF]t@t[`ThFdAdm@vGtXjHlaAsD`s@eYhkAnMnRjHfi@~Pbg@hZf`@kGnH`Wzx@hIz_AxYli@xPb|@xC|d@rIxYtNlmBmCbl@eOnb@gBpz@gRtvA`Bz^tYlS|Qpr@i[fjA_]vj@a`@viAaWhTqDpb@rO~QpMmOj[zNlIsSxJcH~YlNh_@xFph@uPbGpCk@~P`EbD`d@qLdL~DjYuVzSuDxQs_@t[cD~L_]dG`HbO}GlVzBfGaJvRKzCuIhGItAcUlMmD|OnCxVza@nHtVlVtQ@~Hv[bBzQ~UzZ_^bDbC|Z_M~N|J|d@aB~PdKvQaOtPIpG}XrTwMtHrJnHkAzO|JpKzRtKgFxQzJrGlZnOnJvBxJfA_CnIjIxFeCr`@h[pr@~NrZrYlDsN_DwMhBo[pGmWvRqRq@iI~H}b@Lmz@|OqUlGqiAvDiPvUrDx@bJfT^RcXxc@ApEyKvVbCqJa|@f^|GjAyp@|Wn@lJi`AwBU[aI_GaAaHku@dAiHpDvB|DqXzCjBfByJ`EfAvBuK`TuMnGgRwEgj@tFkk@bO}YrAdCp^{HK`YbX}Ef@w`@zHuA|Bga@kDy_@cQkr@i@m`@`FaVzDq@rQqa@xVuw@reAgpAj@gQqLaj@pTmUdK|M~BkBkDmRjMoKnAvDj`@uN~G_JfUhF`Dhb@vIhOdpAvPz_@jVzNf[dVnNf\\kOddAhJ`NwBxFvHhHkBnF{N{G}p@}n@{uAsp@{Jg_@c]cW{d@eYkJkVs^cE}BoErNs`@cp@sFuU{ScW_Tep@sWcWvCkm@{Fq^DwSvz@aBrUlDhAaZuBuN|Iu\\cBiEzTie@d`@uWpb@_C`A{Inn@gRxi@dmAvh@gv@{Bij@uPcL}L~EwZg`ARuGeV{VbPuz@`Sye@~Z}l@rRaGe@gMjC_FqCkg@lYpEhPiUsCgKlNaLpLr_@`LwC\\}GzSkLtPpAfC{TnVzLF{KrKdSvRcNqAgKfHcUoA}IxCgN}G}K~FoCdAcIeFkW~NoESuJzQySrLmBvf@}e@_Awd@m`@qUb@mUal@_gBcA|JeGpEqAmGtDgIkDcS_K?mJyNoKd@mTcj@kKWiSlQwLia@qIoAcHap@rMeEp@ud@{Qmo@nAqGcFoRyLeGwDaOgTtEiLnL{HiDiFyr@q]oXzF__@oEqf@jAkZzr@io@}VqTKoVz\\uk@m@cMhsAyYaBqVdb@fKdcAqVzo@yPRqX{^qJ}^_Veb@wr@b\\wt@dI}FnOeH~c@dJmGiU^c^`JcTc@yIdQ{NoLexAuBkz@}E{TqUy_@_U`^i\\pQgEgIe\\|FiHkGaXwAgMyPgPoo@mMoUsKmF{Jo[~CqZ}FuD~AsT}K}H]qLcEIiR}UcE~Hw_@rHf@lFqIvBcPaKcIii@|Aek@lFe[_JvCqGsSk@zCgEaDqMmR{l@eTcAdFa[eAae@yYbCgLwFsAeDbJ}MyB}DbEyHmJf@_DoPkCgMjUgb@_DaRvIgI{DoHjLyBiBXgwAaRhRcs@tW_[nf@}BaBtAsU}NeDiFx[sPuK{MU]sPmCeBsLvRiImI{WmAs[uMbMct@_KoKw^aCim@ac@rDyTuEeJNkHsEmH}A}RwHaMqNeFQ{SeQoKc@y^wOa`@{EcBqB`GwNeCiV{l@yc@kDuOpOgMaRaJ|@yHs\\iSyBSgScMeU}Obi@sDlh@'; var londonBoundaryLevels = 'PFEEHEEHEHDHEEEFHGFDGFFEEEJFHIEEGEEIGFDFEEFFLEFGEEEDEGIIEGEEGEEHDIEFDIFEKEDDGDEEDEFGEHDEBHEEGEFDFEFFHGFFGEEFKEDDHEFFEGHE?ICDBDGBEBEAAEBICAEBABDACBBAGACCFACEECAFCDCBCFBAHCBAFJCEGFELEFDGDDFEHFEGJGHFDEFGGFEFHGEEEGGHEEFBFGEEDEIEEGEIEGEEEFGEDHEHEEFGFEFEFEDJEEEHFFHEEFGFOGGDGEGGEEFEIEFFFGFEEEGEEEJFDEEFFIFEGEFGEFFIEEEFFGEEGEEEFFLEEFEGDEFFDIFEGGFEIGGGHGDEFHEEEEEEEEGEIGEFGHEFGDEHDEEFHEKGFEGEEEIFEGGEEIGEFGEMFHGEEFGEFHEDFGEDKEHDEEFHEFFIJGHFGDFHEFFGDDJGFEGHEEFFGFFGIEDDFFDEHEEFEKFGFGDFDEHEEFGEGEHFFGDDHEGEFHGKEEGGFGEIGGGBJGEFIEGFIEGEEGDLEHEHFFEIEEEEGFEEEIDGEEEGHFDGFEECIFEFFGEEEGDEHFFEFIDIEFHDFGGEFDGGEJGHEEGFDDDFEEFFEIEEGGFFEHFFEIEP'; //Add borough boundary var boroughPolygon = new GPolygon.fromEncoded({ polylines: [{ color: '#FFFFFF', opacity: 1, weight: 2, points: 'gbyyH|cKwAa@{C_D{DqIyBeGy@sA{C}B{AsDyDsDeCq@sA}@cJoOq@Iq@RaFnDaBt@}DD_Ck@mFiCqIuA{CoDyDw@kDsBuMuRqEgFmO_OwO}JuAqA{@kBsKs_@oAaCiCgCkA_@{APkItGs@V_BA}DiAsSgQkK{OiTgX_MuFgFyEq}@qp@aCgAwBUsAaAcN{Eih@uE@k@c@sC^iDi@g@G{DFiBz@gGbCzB@Sl@?|C`BA_@xDBj@wHBmCo@eH`DoBiDyNSoCFwAT\\jFsC`BcBVw@VwD@yGREYgQj@wN@yFtBeXf@}Ab@qE`@mICyEY{HiCePbDo@xN[LUx@cJNY`DlAhB?hBw@`DqCpLzGfG`BhAGbFpHhDjBg@vAd@HSz@f@TfAm@R~AnB`@bAUbA~Bn@B\\m@pAP\\hAXU`AlA|@Or@lATc@Xn@|AFn@n@x@AXw@^nBz@aAxAlAt@zAd@pAQt@Dj@lAH`@xCbAZXa@b@v@j@ZPfAEn@x@v@z@lCASdAy@n@K`Df@BbBk@`J?~CZzCi@~ATTYnA@bCTbAfIed@tBkI|Zo]nBs@zBl@Pi@pBz@Gl@Vd@hA@bAp@?j@fEdCF_@pAj@Fj@|By@_@pAPPfIpEJa@@Xf@N~ArBr\\zTjGpDhUpAlQbBjBE?SlCOf@]|ALpj@mERI`AoCDmGnA^xBB~A_Ad@`AJCpMsEh@y@jI{CtQR|@XfFnDtAcF~AiBw@kDjNi@E|@o@dBDzAV`@vQgG`BJfAr@bAvBXnBF`RdRl@rJa@zFqAD{BRkB|@mD|@mBvCkErIeKlEmEFNp@g@|BlJ~ExOm@n@d@~AcJfIpEvQ}AbBbEjHdFiFfDbG`@KnAnQd@dDE^OB_Cm@sAL@`Ba@BNXTvFc@FFzA]FvA|XrChPs@b@tC~MdBfNIXiCx@aEVsBz@{A|EJjA|@tDhAdKdAxR`@G?n@cK~@kDvATVOFiEjAaLj[SzDuFjA{BrBqCjEuElNw@hDItDXpCjBfIJvC[fCeBbGi@zEB`Cv@`FBfCIl@}AxCUnAdAfHLtCeA`GDnDIlAgBtCS~C}@`C]Ty@E}BqBmAUq@HaDpCyBnEgC|CkFbJyBpHmAvCcIpEi@zAQfFYdAuCtBwEjHsFxAiJvFyHjCmGhDqB~AoAR', levels: 'PBDACBCDCBDGACADFBCDCBGBDCAFADBGBDAEBGDBFDBGBBBEJABBCCAFCBCDCGACEECAFCCAFABBCADBABEACLBEAAEBEBFDBHCDBCEBDDBDDBBDCBBCDCBBCBDDEBCBACCDCCACACBEABDGACACBBBAIBFCICBDBCCBCBCBDEBDCCABCAFBHBBBBBFACFBCCAEBBFDAFCDFHACAFDBFBDFCHEACAEACBBKAFCDFDFEECFAGACBEBCACBBFCCDBFBBBDFAACBBIDBBBFCECECGBDABDBBDBADAADAECADCBHACBEBFBBCADEBBDCFCBBABP', zoomFactor: 2, numLevels: 18 }, { color: '#FFFFFF', opacity: 1, weight: 2, points: londonBoundaryPoints, levels: londonBoundaryLevels, zoomFactor: 2, numLevels: 18 }], fill: true, color: '#666666', opacity: 0.2, outline: true }); map.addOverlay(boroughPolygon); } google.setOnLoadCallback(initialize); </script> </head> <body> <div id="map" style="width: 800px; height: 500px"></div> </body> </html> What version of the API are you using? (In the JS API, you can tell this by checking the value of G_API_VERSION.) 2.x (149f) What operating system and browser are you using? WinXP, SP3. Tested in Firefox 3.0.7, IE7 and Safari 4. All produce the same result. ********************************************************* For developers viewing this issue: please click the 'star' icon to be notified of future changes, and to let us know how many of you are interested in seeing it resolved. ********************************************************* |
||||||||||||||||
,
Mar 09, 2009
(No comment was entered for this change.)
Status: Accepted
Labels: Internal-1700993 Introduced-2.149 Regression-Yes |
|||||||||||||||||
,
Mar 12, 2009
@Pam: Just a thought, but this polygon crosses the prime meridian (0.0 longitude) in Greenwich, London. Perhaps that has something to do with the bug? |
|||||||||||||||||
,
Mar 12, 2009
We've already figured out the bug, actually. It was a combination of slight bugginess in our code combined with the fact that your polygon encoding used a non-standard level-of-detail encoding with only one vertex at the top level. We'll fix our code to deal with that situation.
Status: FixedNotReleased
|
|||||||||||||||||
,
Mar 12, 2009
@Pam: Thanks for the update. I used the popular online tool http://facstaff.unca.edu/mcmcclur/GoogleMaps/EncodePolyline/encodeForm.html to encode this polygon, so I will report to the developer of that tool that it only created a single vertex at the top level of detail. Cheers ;) |
|||||||||||||||||
,
Mar 22, 2009
(No comment was entered for this change.)
Status: Fixed
Labels: -Introduced-2.149 Fixed-2.151 |
|||||||||||||||||
|
|
|||||||||||||||||