2011-10-19 73 views
0

我有一個谷歌地圖與V3 API創建的,我希望用StyledMapType的應用自定義地圖樣式。不過,我覺得在一些瀏覽器自定義樣式JSON被擊中的URI字符的限制,導致414錯誤(如豹的Firefox 7)。谷歌地圖API風格的地圖類型414錯誤

縮短JSON解決了這個問題,但任何人都可以在一個解決方案建議?

順便說一句,在JSON已經被壓縮的空白!

謝謝

這裏是一個代碼示例。我們必須保持mapStyles在大約1705個字符內,否則會發生414錯誤。實際上,放大時仍會出現錯誤,並縮短到1350個字符來停止錯誤。

var mapStyles=[{featureType:"road",elementType:"geometry",stylers:[{lightness:100},{visibility:"on"}]},{featureType:"road",elementType:"labels",stylers:[{hue:"#ff7700"},{lightness:12},{saturation:-38},{visibility:"on"}]}]; 

gMapStyled = new google.maps.StyledMapType(mapStyles, {name: 'Store Locator'}); 

gMap = new google.maps.Map($('#map-canvas').get(0), { 
       disableDefaultUI: true, 
       zoom: 7, 
       mapTypeId: google.maps.MapTypeId.ROADMAP, 
       center: new google.maps.LatLng('5.7908968128719565','19.6875') 
      }); 
gMap.mapTypes.set('storelocator', gMapStyled); 
gMap.setMapTypeId('storelocator'); 

下面是一個414錯誤的例子......非常長!

NetworkError: 414 Request-URI Too Large - http://mt0.googleapis.com/mapslt/ft?hl=en&lyrs=m%40162244780%7Cs.t%3A3%7Cs.e%3Ag%7Cp.l%3A100%7Cp.v%3Aon%2Cs.t%3A3%7Cs.e%3Al%7Cp.h%3A%23ff7700%7Cp.l%3A12%7Cp.s%3A-38%7Cp.v%3Aon%2Cs.t%3A40%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.s%3A-77%7Cp.l%3A41%2Cs.t%3A4%7Cp.v%3Aoff%2Cs.t%3A21%7Cp.v%3Aoff%2Cs.t%3A18%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.h%3A%23ffaa00%7Cp.s%3A32%2Cs.t%3A17%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.h%3A%23ff8800%7Cp.s%3A20%7Cp.l%3A20%2Cs.t%3A17%7Cs.e%3Al%7Cp.h%3A%23ff8800%7Cp.l%3A6%7Cp.v%3Aon%7Cp.s%3A20%2Cs.t%3A18%7Cs.e%3Al%7Cp.v%3Aon%7Cp.s%3A-100%2Cs.t%3A19%7Cs.e%3Al%7Cp.s%3A-100%7Cp.v%3Aon%7Cp.l%3A31%2Cs.t%3A81%7Cs.e%3Ag%7Cp.g%3A1%7Cp.h%3A%23ffcc00%7Cp.v%3Aon%7Cp.l%3A45%7Cp.s%3A-82%2Cs.t%3A82%7Cs.e%3Ag%7Cp.h%3A%23ffcc00%7Cp.l%3A-2%7Cp.v%3Asimplified%7Cp.s%3A-5%2Cs.t%3A6%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.s%3A-79%2Cs.t%3A1059%7Cp.v%3Aon%7Cp.s%3A-99%2Cs.t%3A40%7Cs.e%3Al%7Cp.v%3Asimplified%7Cp.s%3A-6%2Cs.t%3A37%7Cs.e%3Ag%7Cp.v%3Aoff%7Cos%3A628240961&las=twwvvvtvuvtvvtv,twwvvvtvuvtvvtw,twwvvvtvuvtvvuv,twwvvvtvuvtvvuw,twwvvvtvuvtvvvt,twwvvvtvuvtvvvu,twwvvvtvuvtvvvv,twwvvvtvuvtvvvw,twwvvvtvuvtvvwt,twwvvvtvuvtvvwu,twwvvvtvuvtvvwv,twwvvvtvuvtvvww,twwvvvtvuvtvwtv,twwvvvtvuvtvwvt,twwvvvtvuvtvwvv,twwvvvtvuvvtttt,twwvvvtvuvvtttu,twwvvvtvuvvtttv,twwvvvtvuvvtttw,twwvvvtvuvvttut,twwvvvtvuvvttuu,twwvvvtvuvvttuv,twwvvvtvuvvttuw,twwvvvtvuvvttvt&z=15&src=apiv3&xc=1&style=api%7Csmartmaps&apistyle=s.t%3A3%7Cs.e%3Ag%7Cp.l%3A100%7Cp.v%3Aon%2Cs.t%3A3%7Cs.e%3Al%7Cp.h%3A%23ff7700%7Cp.l%3A12%7Cp.s%3A-38%7Cp.v%3Aon%2Cs.t%3A40%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.s%3A-77%7Cp.l%3A41%2Cs.t%3A4%7Cp.v%3Aoff%2Cs.t%3A21%7Cp.v%3Aoff%2Cs.t%3A18%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.h%3A%23ffaa00%7Cp.s%3A32%2Cs.t%3A17%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.h%3A%23ff8800%7Cp.s%3A20%7Cp.l%3A20%2Cs.t%3A17%7Cs.e%3Al%7Cp.h%3A%23ff8800%7Cp.l%3A6%7Cp.v%3Aon%7Cp.s%3A20%2Cs.t%3A18%7Cs.e%3Al%7Cp.v%3Aon%7Cp.s%3A-100%2Cs.t%3A19%7Cs.e%3Al%7Cp.s%3A-100%7Cp.v%3Aon%7Cp.l%3A31%2Cs.t%3A81%7Cs.e%3Ag%7Cp.g%3A1%7Cp.h%3A%23ffcc00%7Cp.v%3Aon%7Cp.l%3A45%7Cp.s%3A-82%2Cs.t%3A82%7Cs.e%3Ag%7Cp.h%3A%23ffcc00%7Cp.l%3A-2%7Cp.v%3Asimplified%7Cp.s%3A-5%2Cs.t%3A6%7Cs.e%3Ag%7Cp.v%3Aon%7Cp.s%3A-79%2Cs.t%3A1059%7Cp.v%3Aon%7Cp.s%3A-99%2Cs.t%3A40%7Cs.e%3Al%7Cp.v%3Asimplified%7Cp.s%3A-6%2Cs.t%3A37%7Cs.e%3Ag%7Cp.v%3Aoff&callback=_xdc_._5mgxkk&token=13463 
+1

爲什麼在URL中的樣式化地圖JSON?你可以發佈一些代碼嗎? – ScottE

+0

只是一個更新......最後我們縮短了mapStyles直到我們不再有一個錯誤的地步!不理想:/ – Jono

回答

0

我們的工作是縮短mapStyles對象在1350個字符或更少 - 然後錯誤消失。但是,這並不意味着理想,而是唯一可以找到的解