Gmaps4rails - 如何设置地图语言

Gmaps4rails - how to set map language

我想对 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' })。

我已经搜索了文档(和来源),但似乎找不到任何相关信息。如有任何帮助,我们将不胜感激!

您必须在脚本中指明语言。

例如在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&region=JP"
    async defer>
    </script>
  </body>
</html>

如您在此代码行中所见,key=YOUR_API_KEY&callback=initMap&language=ja&region=JP,语言设置为 jp = 日语.

同时使用动态语言设置检查他们的工作 sample

希望对您有所帮助!