javascript - 谷歌地图不应用样式

标签 javascript google-maps google-maps-api-3

我正在使用带有 kml 的谷歌地图,并且我只想显示国家/地区标签。默认情况下,它只显示简单的世界地图,上面什么也没有。 https://gateway.spectrumasa.com/qc/mcmap/

我的原始代码

var myOptions = {
        zoom : currentZoomLevel,
        center : latlng,
        disableDefaultUI: true,
        minZoom: 2, 
        maxZoom: 20,
        mapTypeId : google.maps.MapTypeId.SATELLITE,
    };  


    map = new google.maps.Map(document.getElementById("googlemap"), myOptions);

带有样式的新代码

var styleArray = [
                      {
                        featureType: "all",
                        stylers: [
                          {  visibility: "off" }
                        ]
                      }/*,{
                        featureType: "road.arterial",
                        elementType: "geometry",
                        stylers: [
                          { hue: "#00ffee" },
                          { saturation: 50 }
                        ]
                      },{
                        featureType: "poi.business",
                        elementType: "labels",
                        stylers: [
                          { visibility: "off" }
                        ]
                      }*/
                    ];


    var latlng = new google.maps.LatLng(24.91654, 15.31326);
    var myOptions = {
        zoom : currentZoomLevel,
        center : latlng,
        disableDefaultUI: true,
        minZoom: 2, 
        maxZoom: 20,
        mapTypeId : google.maps.MapTypeId.SATELLITE,
        styles :styleArray /*[ { "featureType": "administrative.country", "elementType": "labels", "stylers": [ { "visibility": "on" } ] } ]*/
    };  


    map = new google.maps.Map(document.getElementById("googlemap"), myOptions);

最佳答案

我认为您实际上可以通过使用HYBRID map 样式获得您想要的东西。关闭所有内容,然后仅打开 administrative.country 标签。

var mapOptions = {
    center: new google.maps.LatLng(52.368465, 4.903921),
    zoom: 6,
    mapTypeId: google.maps.MapTypeId.HYBRID,
    styles: [{
        'featureType': 'all',
            'elementType': 'all',
            'stylers': [{
            'visibility': 'off'
        }]
    }, {
        "featureType": "administrative.country",
            "elementType": "labels",
            "stylers": [{
            "visibility": "on"
        }]
    }]
};

map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);

JSFiddle demo

关于javascript - 谷歌地图不应用样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32846119/

相关文章:

javascript - 在 Google Maps api v3 中制作可拖动部分

javascript - Prestashop : Uncaught SyntaxError: Unexpected token chrome only

javascript - Node 模块无法导入

javascript - 如何通过中继器和数据库中的标记显示 G map

java - 只刷新这部分数据(谷歌地图)

javascript - 创建一个指向 Google map 的链接,该链接将填充标记

javascript - 为什么 `Function` 的第一个参数拒绝括号?

javascript - 在 gmail 撰写邮件区域中获取选定/突出显示的文本 html

ios - Google ios sdk - map 在模拟器中工作但在设备中不工作 - ClientParametersRequest 因请求超时错误而失败

javascript - 谷歌地图 API : How to zoom in on and set different centers for multiple markers in for loop?