【问题标题】:Google Maps API styled map type 414 errorGoogle Maps API 样式地图类型 414 错误
【发布时间】:2011-10-19 13:08:01
【问题描述】:

我有一个使用 V3 API 创建的 Google 地图,我希望使用 StyledMapType 应用自定义地图样式。但是,我发现在某些浏览器中,自定义样式 JSON 在 URI 中达到字符限制,导致 414 错误(例如 Leopard 上的 Firefox 7)。

缩短 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

【问题讨论】:

  • 为什么url中是样式化的地图json?可以发一些代码吗?
  • 只是一个更新...最后我们缩短了 mapStyles 直到我们不再出现错误!不理想:/

标签: javascript json url google-maps uri


【解决方案1】:

对我们有用的是将 mapStyles 对象缩短为 1350 个字符或更少 - 然后错误消失了。但并不意味着理想,而是我们能找到的唯一解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2014-01-14
    • 2016-08-02
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    相关资源
    最近更新 更多