谷歌地图javascript api v3西班牙语语言问题

时间:2014-08-21 16:21:33

标签: javascript google-maps google-maps-api-3 google-apps-script

官方Google Maps API Coverage电子表格显示已启用西班牙语/标签。

http://spreadsheets.google.com/spreadsheet/pub?key=0Ah0xU81penP1cDlwZHdzYWkyaERNc0xrWHNvTTA1S1E&gid=1

使用google.com/maps,在启用西班牙语时,falkland islans被标记为" islas malvinas":

https://www.google.com.ar/maps/@-51.5082093,-59.8635691,8z?hl=es

但问题是,当使用谷歌地图javascript api v3时,启用此西班牙语(在官方电子表格之后)不起作用,未启用:

fiddle for test

代码:

function initialize() {
        var mapOptions = {
            zoom: 7,
            center: new google.maps.LatLng(-51.5082093,-59.8635691)
        };

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

    function loadScript(lang) {
        var script = document.createElement('script');
        script.type = 'text/javascript';
        script.src = 'https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&' +
            'callback=initialize';
        if (lang) {
            script.src += '&language=' + lang;
        }

        script.id = "google-maps-script";
        document.body.appendChild(script);
    }

    window.onload = loadScript;

    function ChangeGoogleMapsLanguage() {

        var lang = document.getElementById('language').value,
            oldScript = document.getElementById("google-maps-script");
        oldScript.parentNode.removeChild(oldScript);

        delete google.maps;

        loadScript(lang);
    }

所以问题是:

  • 为什么启用了西班牙语的google.com/maps磁贴会标记" islas malvinas",但是当我使用api尝试相同时这不起作用并强制使用英文标签? (虽然这个DO使用谷歌网络地图工作)?

任何人都知道为什么?我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

西班牙语不等于阿根廷,当您通过maps.google.es加载地图时,您会看到与其他拉丁语言相同的标签(例如法语,意大利语,德语)

https://www.google.es/maps/@-51.5082093,-59.8635691,8z?hl=es

maps.google.com.ar加载不同的图块(显示不同的标签,我猜是出于政治原因)

还有region-parameter,但似乎没有给出所需的结果。

当前使用的自定义ImageMapType加载maps.google.com.ar加载{{1}}

的相同图块(具有相同参数)