我在我的一个项目中使用backbone.js,并且使用Google 地图api 版本3。根据一些ajax 响应,我想动态更改Google 地图语言。有什么方法可以做到这一点。任何建议将不胜感激。提前致谢。
考虑以下示例,其中我使用按钮,但您可以调用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 http://jsfiddle.net/2AKqM/
注意:我使用的是普通 JavaScript。该代码在 Chrome 中可能运行良好,我没有在其他浏览器中测试它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)