rubygoogle-mapsgoogle-maps-static-api

Google Static Map API multi polygon url too long


I am working with Static google maps to generate urls with multi polygons on the map. But the coordinates are very long and the urls exceed 8 thousand characters.

Here you have the url that i use with 2 polygons: static map (url whitout key and its gets error400) 26345 chars.

Is there a way to reduce it without removing precision? Also i use ruby, if there is a solution that can be aplied with ruby would be great.


Solution

  • For the example you provided, encoding the paths of the polygons works.

    I used a fiddle and the Google Maps Javascript API to encode the paths. Resulting live static map (zoomed out some to give context).

    The encoding algorithm is described in the Google Maps documentation and there is at least one ruby implementation screenshot of resulting static map

    <html>
    
    <body>
      <img src='https://maps.googleapis.com/maps/api/staticmap?center=0.04096,41.65521&zoom=12&size=1200x800&path=fillcolor:red%7Cweight:1%7Ccolor:blue%7Cenc:kxFy~e}FD?HCDC??DE@EBIBU@GBE?A?CAAA?ACGCGCSEGCAAECCCCG@E@GJSBODU@G@C@IFMBEBG@E@G?G??AGCEAGCGGMGMAE?I?A?A?ABGJSBG?ABCFU@EBGFK@?DEBC@ADE@G@EBG@?@E@C@ARYBI@CBG@GFY@K?C?A?GEMIOCCACCCCECMAG?K?A@C?C@GBENQ@CBCHM?AFK@C?A@G@G?C?CAEAGEECCEAI?OFCBC@MHKJEDUNEDGBI@QDIBG@A?GBGBGDCBA@IJGHGHIJEFEDEDA???EB?@CBGFCDELGLA?EDGBGBQDIBG@IAIAGCICEACE?EAE?A?ECECACAICIAC?EAGA_@AI?]@Y?C?C@A???A?C@????G@QDGBA?MFA@C@I@IAA???EAIACA?CBGHKFE^Y@ABA@A@ADC??FEFCXIFCHCHC^OHCBAHC@A|@YZG??PGFC@ABA@E?A?C?A?ACCEECGAAMOIMEEEEEGCACAGCGCEEEEA?CECEeAN_ANoCb@{LnB??THRNQFs@Pu@Fm@BQKMKA@iDh@KBgDh@VHB?\LhA^`AZ`AZjA`@x@XVH??B@F@??B@@@NDTHt@Vp@Rh@NtA^z@RhAZ`AVl@Nd@LXFdAXl@N\JRDr@R@?LDf@LF@`@LVFp@Pj@NRDNDTBLBJ@&path=fillcolor:red%7Cweight:1%7Ccolor:blue%7Cenc:mhHeqf}FfDi@JChDi@@AWS]_@IOn@AdA?V@j@Ld@L??zLoBnCc@~@OdAOACCECCEE???y@?AJKDCF?F?H@NHFBFBFBLBB@HBH?R@D?@?@?B@D@FDDDDBDB@@??DDRNVXDBH?D???FCDE?ABE@EDO@E?GBG@GFKBA@?@?PAH?HAFCHCBABE?M@G@GFEDCLIFG@C@ABE?ABE@EBKDIFMDE??FK?G?IAEEEMG??AAECKE]OWOECGGKGAAKKEG??GMCEEIACGUCGAGEUAEKK??GEA?EAA?GAI@a@JI@cAPQDE@C?A?I?EAECEGECGESKCAA?AACAIC????AAMEGA[KIAIAMEC?MCIAOCKAA?IAQCIAG@A?A?A@A@??AB?DARCBAEAC?G?M?O?M@a@?C@G?IEHCB[d@oFtHQVm@z@yBu@YKA?GC{@Ye@OICGCQGMECAEA@D@J@JAJABEDCBA@GDSH??A@??????A@[XIBI@c@HSDQFSNOHC@C@QDIB]DOHGB??QPEHABCBEHABA@GDGDA@E@GBGBOHEDCFCDAB???@CPGL@^Jb@XPh@HZB\FF?VO`@MH?RFLNBH?NRn@AF_@B}@EQCU]MO?CAA@@??G@E@G@I@C@I@A???A?KBG@A?????A?????????A?a@@I@G@I@OFA@G@I@E@C?G@E@SB]F??A?A?D@B@RHz@XVJF@j@RPF&key=AIzaSyB41DRUbKWJHPxaFjMAwdrzWzbVKartNGg'
        alt='static map' />
    </body>
    
    </html>