javascript - Google map 动态语言更改

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

我正在为我的一个项目使用backbone.js,并且正在使用Google map API 版本3。根据一些ajax 响应,我想动态更改Google map 语言。有什么方法可以做到这一点。任何建议将不胜感激。提前致谢。

最佳答案

请考虑以下示例,其中我使用按钮,但您可以使用所需的参数从回调中调用 ChangeGoogleMapsLanguage(调整代码以采用 lang 参数) ):

<!DOCTYPE html>
<html>
  <head>
    <title>Asynchronous Loading</title>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
    <meta charset="utf-8">
    <style>
      html, body, #map-canvas {
        height: 100%;
        margin: 0px;
        padding: 0px
      }
    </style>
    <script>
        function initialize() {
            var mapOptions = {
                zoom: 8,
                center: new google.maps.LatLng(-34.397, 150.644)
            };

            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);
        }

    </script>
  </head>
  <body>
    <input type="text" id="language" value="ja" />
    <button id="localization-button" onclick="ChangeGoogleMapsLanguage()">Change Language</button>
    <div id="map-canvas"></div>
  </body>
</html>

也在 jsFiddle 中工作:Exemple

注意:我使用的是普通 JavaScript。该代码在 Chrome 中可能运行良好,我没有在其他浏览器中测试它。

关于javascript - Google map 动态语言更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20090711/

相关文章:

javascript - 从初始位置绘制 POLYGON

javascript - 如何使隐藏的图像在向下滚动一定数量的像素后出现?

javascript - ember.js .find() 仅在第二次调用时有效

google-maps - 谷歌地图javascript api中的圆半径单位?

google-maps - 在 Google map 上显示 netCDF 文件

google-maps-api-3 - Google Maps API V3 防止在地点搜索后放置标记时添加 "Listing by"

javascript - 谷歌地图不显示标记的描述

javascript - Bing.com 如何创建放大的缩略图?

javascript - 从另一个函数获取 $this 值

ios - 获取现有折线路径的路线?