我想本地化Gmaps4rails生成的地图,因此我可以用用户所需的语言显示地名。 Google会在此处记录如何执行此操作:https://developers.google.com/maps/documentation/javascript/examples/map-language
我正在使用Gmaps4rails的相当标准(当前功能)实现,您可以在此处看到。
handler = Gmaps.build('Google');
handler.buildMap({
provider: { styles: mapStyle },
internal: {id: 'map'}
}, function(){
markers = handler.addMarkers(<%=raw @hash.to_json %>);
handler.bounds.extendWith(markers);
handler.fitMapToBounds();
});
渲染到html ...
<div class="map-container">
<div id="map"></div>
</div>
我只需要找出定义语言代码的位置。我尝试将其作为选项添加到提供商,没有任何乐趣(例如provider: { styles: mapStyle, language: 'zh-TW' }
)。
我已经搜索了文档(和源代码),但似乎无法找到任何关于此的信息。任何帮助将不胜感激!
答案 0 :(得分:0)
您必须在脚本中指明语言。
例如,在 Maps API v3 Now Speaks Your Language :
中<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&language=pt-BR">
您可以在此处找到languages的列表。
以下是代码示例:
<!DOCTYPE html>
<html>
<head>
<title>Localizing the Map</title>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<style>
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#map {
height: 100%;
}
</style>
</head>
<body>
<div id="map"></div>
<script>
// This example displays a map with the language and region set
// to Japan. These settings are specified in the HTML script element
// when loading the Google Maps JavaScript API.
// Setting the language shows the map in the language of your choice.
// Setting the region biases the geocoding results to that region.
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 8,
center: {lat: 35.717, lng: 139.731}
});
}
</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap&language=ja®ion=JP"
async defer>
</script>
</body>
</html>
正如您在此代码行中看到的那样,key=YOUR_API_KEY&callback=initMap&
language=ja
®ion=JP
,语言设置为 jp =日语。
同时使用动态语言设置检查其工作sample。
希望这有帮助!